You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by dr...@apache.org on 2015/01/22 22:48:24 UTC

[45/45] directory-kerberos git commit: DIRKRB-149 New layout structure with the new name "Apache Kerby"

DIRKRB-149 New layout structure with the new name "Apache Kerby"


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

Branch: refs/heads/master
Commit: ceacb982d01016b58fd17065da1ed5f43856f05b
Parents: 3558a6b
Author: Drankye <dr...@gmail.com>
Authored: Fri Jan 23 13:41:07 2015 +0800
Committer: Drankye <dr...@gmail.com>
Committed: Fri Jan 23 13:41:07 2015 +0800

----------------------------------------------------------------------
 3rdparty/not-yet-commons-ssl/pom.xml            |    2 +-
 3rdparty/pom.xml                                |    4 +-
 benchmark/pom.xml                               |  212 ++--
 .../kerberos/benchmark/KrbCodecPerfTest.java    |   79 --
 .../kerberos/benchmark/KrbCodecPerfTest.java    |   79 ++
 contrib/haox-asn1/README.md                     |  301 -----
 contrib/haox-asn1/pom.xml                       |   27 -
 .../java/org/apache/haox/asn1/Asn1Dump.java     |   70 --
 .../java/org/apache/haox/asn1/Asn1Factory.java  |   44 -
 .../org/apache/haox/asn1/Asn1InputBuffer.java   |   82 --
 .../org/apache/haox/asn1/Asn1OutputBuffer.java  |   72 --
 .../org/apache/haox/asn1/EncodingOption.java    |   84 --
 .../org/apache/haox/asn1/LimitedByteBuffer.java |  121 --
 .../java/org/apache/haox/asn1/TagClass.java     |   74 --
 .../org/apache/haox/asn1/TaggingOption.java     |   68 --
 .../java/org/apache/haox/asn1/UniversalTag.java |  106 --
 .../apache/haox/asn1/type/AbstractAsn1Type.java |  420 -------
 .../java/org/apache/haox/asn1/type/Asn1Any.java |   47 -
 .../apache/haox/asn1/type/Asn1BigInteger.java   |   48 -
 .../apache/haox/asn1/type/Asn1BitString.java    |   86 --
 .../apache/haox/asn1/type/Asn1BmpString.java    |   72 --
 .../org/apache/haox/asn1/type/Asn1Boolean.java  |   71 --
 .../org/apache/haox/asn1/type/Asn1Choice.java   |  173 ---
 .../apache/haox/asn1/type/Asn1Collection.java   |  137 ---
 .../apache/haox/asn1/type/Asn1CollectionOf.java |   88 --
 .../haox/asn1/type/Asn1CollectionType.java      |  195 ----
 .../apache/haox/asn1/type/Asn1FieldInfo.java    |   76 --
 .../haox/asn1/type/Asn1GeneralString.java       |   33 -
 .../haox/asn1/type/Asn1GeneralizedTime.java     |  134 ---
 .../apache/haox/asn1/type/Asn1IA5String.java    |   33 -
 .../org/apache/haox/asn1/type/Asn1Integer.java  |   46 -
 .../org/apache/haox/asn1/type/Asn1Item.java     |  155 ---
 .../org/apache/haox/asn1/type/Asn1Null.java     |   52 -
 .../haox/asn1/type/Asn1NumericsString.java      |   50 -
 .../haox/asn1/type/Asn1ObjectIdentifier.java    |  164 ---
 .../apache/haox/asn1/type/Asn1OctetString.java  |   51 -
 .../haox/asn1/type/Asn1PrintableString.java     |   33 -
 .../org/apache/haox/asn1/type/Asn1Sequence.java |   30 -
 .../apache/haox/asn1/type/Asn1SequenceOf.java   |   38 -
 .../apache/haox/asn1/type/Asn1SequenceType.java |   37 -
 .../java/org/apache/haox/asn1/type/Asn1Set.java |   30 -
 .../org/apache/haox/asn1/type/Asn1SetOf.java    |   30 -
 .../org/apache/haox/asn1/type/Asn1SetType.java  |   37 -
 .../org/apache/haox/asn1/type/Asn1Simple.java   |  184 ----
 .../org/apache/haox/asn1/type/Asn1String.java   |  292 -----
 .../apache/haox/asn1/type/Asn1T61String.java    |   33 -
 .../haox/asn1/type/Asn1T61Utf8String.java       |   43 -
 .../org/apache/haox/asn1/type/Asn1Tagging.java  |  104 --
 .../org/apache/haox/asn1/type/Asn1Type.java     |   41 -
 .../haox/asn1/type/Asn1UniversalString.java     |   33 -
 .../org/apache/haox/asn1/type/Asn1UtcTime.java  |   89 --
 .../apache/haox/asn1/type/Asn1Utf8String.java   |   47 -
 .../haox/asn1/type/Asn1VisibleString.java       |   33 -
 .../haox/asn1/type/TaggingCollection.java       |  105 --
 .../apache/haox/asn1/type/TaggingSequence.java  |   35 -
 .../org/apache/haox/asn1/type/TaggingSet.java   |   35 -
 .../org/apache/haox/asn1/PersonnelRecord.java   |  209 ----
 .../org/apache/haox/asn1/TestAsn1Boolean.java   |   56 -
 .../apache/haox/asn1/TestAsn1Collection.java    |   55 -
 .../org/apache/haox/asn1/TestAsn1Input.java     |   35 -
 .../org/apache/haox/asn1/TestAsn1Integer.java   |   70 --
 .../haox/asn1/TestAsn1ObjectIdentifier.java     |   64 --
 .../org/apache/haox/asn1/TestAsn1UtcTime.java   |   70 --
 .../java/org/apache/haox/asn1/TestData.java     |  129 ---
 .../apache/haox/asn1/TestPersonnelRecord.java   |  126 ---
 .../apache/haox/asn1/TestTaggingEncoding.java   |  205 ----
 .../test/java/org/apache/haox/asn1/Util.java    |   72 --
 contrib/haox-config/README                      |    1 -
 contrib/haox-config/pom.xml                     |   35 -
 .../main/java/org/apache/haox/config/Conf.java  |  285 -----
 .../java/org/apache/haox/config/Config.java     |   58 -
 .../java/org/apache/haox/config/ConfigImpl.java |  346 ------
 .../java/org/apache/haox/config/ConfigKey.java  |   25 -
 .../org/apache/haox/config/ConfigLoader.java    |   50 -
 .../org/apache/haox/config/ConfigObject.java    |   80 --
 .../org/apache/haox/config/IniConfigLoader.java |   69 --
 .../apache/haox/config/JsonConfigLoader.java    |   27 -
 .../org/apache/haox/config/MapConfigLoader.java |   34 -
 .../haox/config/PropertiesConfigLoader.java     |   43 -
 .../haox/config/PropertiesFileConfigLoader.java |   33 -
 .../java/org/apache/haox/config/Resource.java   |  119 --
 .../org/apache/haox/config/XmlConfigLoader.java |  159 ---
 .../java/org/apache/haox/config/ConfTest.java   |  135 ---
 .../org/apache/haox/config/ConfigImplTest.java  |   62 --
 .../org/apache/haox/config/IniConfigTest.java   |   76 --
 contrib/haox-event/README                       |    1 -
 contrib/haox-event/pom.xml                      |   31 -
 .../apache/haox/event/AbstractEventHandler.java |   55 -
 .../event/AbstractInternalEventHandler.java     |   66 --
 .../apache/haox/event/BufferedEventHandler.java |   53 -
 .../java/org/apache/haox/event/Dispatcher.java  |   29 -
 .../main/java/org/apache/haox/event/Event.java  |   43 -
 .../org/apache/haox/event/EventHandler.java     |   31 -
 .../java/org/apache/haox/event/EventHub.java    |  192 ----
 .../java/org/apache/haox/event/EventType.java   |   24 -
 .../java/org/apache/haox/event/EventWaiter.java |   35 -
 .../apache/haox/event/ExecutedEventHandler.java |   76 --
 .../apache/haox/event/InternalEventHandler.java |   34 -
 .../haox/event/LongRunningEventHandler.java     |   77 --
 .../org/apache/haox/event/WaitEventHandler.java |  128 ---
 .../org/apache/haox/transport/Acceptor.java     |   36 -
 .../org/apache/haox/transport/Connector.java    |   36 -
 .../apache/haox/transport/MessageHandler.java   |   42 -
 .../java/org/apache/haox/transport/Network.java |  297 -----
 .../org/apache/haox/transport/Transport.java    |   84 --
 .../apache/haox/transport/TransportHandler.java |   34 -
 .../haox/transport/TransportSelector.java       |  100 --
 .../haox/transport/buffer/BufferPool.java       |   33 -
 .../haox/transport/buffer/BufferUtil.java       |   42 -
 .../haox/transport/buffer/RecvBuffer.java       |  155 ---
 .../haox/transport/buffer/TransBuffer.java      |   49 -
 .../haox/transport/event/AddressEvent.java      |   39 -
 .../haox/transport/event/MessageEvent.java      |   41 -
 .../haox/transport/event/TransportEvent.java    |   56 -
 .../transport/event/TransportEventType.java     |   29 -
 .../haox/transport/tcp/DecodingCallback.java    |   38 -
 .../haox/transport/tcp/StreamingDecoder.java    |   26 -
 .../apache/haox/transport/tcp/TcpAcceptor.java  |  112 --
 .../haox/transport/tcp/TcpAddressEvent.java     |   36 -
 .../apache/haox/transport/tcp/TcpConnector.java |   94 --
 .../apache/haox/transport/tcp/TcpEventType.java |   27 -
 .../apache/haox/transport/tcp/TcpTransport.java |  110 --
 .../haox/transport/tcp/TcpTransportHandler.java |   77 --
 .../apache/haox/transport/udp/UdpAcceptor.java  |   84 --
 .../haox/transport/udp/UdpAddressEvent.java     |   36 -
 .../haox/transport/udp/UdpChannelEvent.java     |   47 -
 .../apache/haox/transport/udp/UdpConnector.java |   76 --
 .../apache/haox/transport/udp/UdpEventType.java |   29 -
 .../apache/haox/transport/udp/UdpTransport.java |   65 --
 .../haox/transport/udp/UdpTransportHandler.java |  109 --
 .../java/org/apache/haox/event/TestBuffer.java  |   50 -
 .../haox/event/network/TestNetworkBase.java     |   58 -
 .../haox/event/network/TestNetworkClient.java   |  212 ----
 .../haox/event/network/TestNetworkServer.java   |  110 --
 .../org/apache/haox/event/tcp/TestTcpBase.java  |   57 -
 .../apache/haox/event/tcp/TestTcpClient.java    |  160 ---
 .../apache/haox/event/tcp/TestTcpServer.java    |   90 --
 .../org/apache/haox/event/udp/TestUdpBase.java  |   41 -
 .../apache/haox/event/udp/TestUdpClient.java    |  149 ---
 .../apache/haox/event/udp/TestUdpServer.java    |   89 --
 contrib/haox-pkix/pom.xml                       |   38 -
 .../src/main/java/org/haox/pki/Pkix.java        |   87 --
 contrib/haox-pkix/src/main/resources/cacert.pem |   23 -
 contrib/haox-pkix/src/main/resources/cakey.pem  |   27 -
 .../haox-pkix/src/main/resources/extensions.kdc |   36 -
 .../haox-pkix/src/main/resources/kdccert.pem    |   26 -
 contrib/haox-pkix/src/main/resources/kdckey.pem |   27 -
 .../haox-pkix/src/main/resources/usercert.pem   |   26 -
 .../haox-pkix/src/main/resources/userkey.pem    |   27 -
 .../src/test/java/org/haox/pki/PkixTest.java    |   60 -
 contrib/haox-token/pom.xml                      |   44 -
 .../java/org/haox/token/AuthzDataEntry.java     |   52 -
 .../src/main/java/org/haox/token/KerbToken.java |   47 -
 .../main/java/org/haox/token/TokenCache.java    |   82 --
 .../java/org/haox/token/TokenExtractor.java     |  101 --
 .../src/main/java/org/haox/token/TokenTool.java |  124 ---
 contrib/haox-util/pom.xml                       |   31 -
 .../src/main/java/org/haox/util/HexUtil.java    |   58 -
 contrib/pom.xml                                 |   46 -
 haox-kdc/README                                 |    5 -
 haox-kdc/kdc-server/pom.xml                     |   56 -
 .../kerberos/kdc/server/ApacheKdcServer.java    |   41 -
 .../org/apache/kerberos/kdc/server/KdcTest.java |   70 --
 haox-kdc/ldap-identity-backend/pom.xml          |   41 -
 .../identitybackend/LdapIdentityBackend.java    |   77 --
 haox-kdc/pom.xml                                |   34 -
 haox-kdc/tools/pom.xml                          |   46 -
 .../java/org/apache/kerberos/tool/Kinit.java    |   42 -
 haox-kerb/README                                |    2 -
 haox-kerb/kerb-client/pom.xml                   |   61 --
 .../apache/kerberos/kerb/client/KrbClient.java  |  321 ------
 .../apache/kerberos/kerb/client/KrbConfig.java  |  161 ---
 .../kerberos/kerb/client/KrbConfigKey.java      |  101 --
 .../apache/kerberos/kerb/client/KrbContext.java |   97 --
 .../apache/kerberos/kerb/client/KrbHandler.java |   99 --
 .../apache/kerberos/kerb/client/KrbOption.java  |   91 --
 .../apache/kerberos/kerb/client/KrbOptions.java |   96 --
 .../kerb/client/event/KrbClientEvent.java       |   43 -
 .../kerb/client/event/KrbClientEventType.java   |   29 -
 .../client/preauth/AbstractPreauthPlugin.java   |  122 ---
 .../kerb/client/preauth/FastContext.java        |   36 -
 .../kerb/client/preauth/KrbPreauth.java         |  107 --
 .../kerb/client/preauth/PreauthContext.java     |  108 --
 .../kerb/client/preauth/PreauthHandle.java      |   72 --
 .../kerb/client/preauth/PreauthHandler.java     |  249 -----
 .../kerb/client/preauth/UserResponseItem.java   |   31 -
 .../kerb/client/preauth/UserResponser.java      |   77 --
 .../client/preauth/builtin/EncTsPreauth.java    |   94 --
 .../kerb/client/preauth/builtin/TgtPreauth.java |   66 --
 .../client/preauth/pkinit/PkinitContext.java    |   30 -
 .../client/preauth/pkinit/PkinitPreauth.java    |  233 ----
 .../preauth/pkinit/PkinitRequestContext.java    |   44 -
 .../preauth/pkinit/PkinitRequestOpts.java       |   40 -
 .../kerb/client/preauth/token/TokenContext.java |   28 -
 .../kerb/client/preauth/token/TokenPreauth.java |  124 ---
 .../preauth/token/TokenRequestContext.java      |   32 -
 .../kerberos/kerb/client/request/AsRequest.java |  127 ---
 .../kerb/client/request/AsRequestWithCert.java  |   57 -
 .../client/request/AsRequestWithPasswd.java     |   50 -
 .../kerb/client/request/AsRequestWithToken.java |   52 -
 .../kerb/client/request/KdcRequest.java         |  358 ------
 .../kerb/client/request/TgsRequest.java         |  136 ---
 .../src/main/resources/kdc-krb5.conf            |   25 -
 .../kerb-client/src/main/resources/kdc.ldiff    |   46 -
 .../kerb-client/src/main/resources/krb5.conf    |   57 -
 .../kerberos/kerb/client/TestKrbConfigLoad.java |   71 --
 haox-kerb/kerb-common/pom.xml                   |   51 -
 .../java/org/apache/kerberos/kerb/KrbThrow.java |   35 -
 .../java/org/apache/kerberos/kerb/Message.java  |   43 -
 .../org/apache/kerberos/kerb/MessageCode.java   |   24 -
 .../kerberos/kerb/common/EncryptionUtil.java    |   98 --
 .../kerberos/kerb/common/KrbConfHelper.java     |  104 --
 .../kerberos/kerb/common/KrbErrorUtil.java      |   67 --
 .../kerb/common/KrbStreamingDecoder.java        |   42 -
 .../apache/kerberos/kerb/common/KrbUtil.java    |   49 -
 .../kerberos/kerb/common/SectionConfigKey.java  |   31 -
 .../apache/kerberos/kerb/preauth/PaFlag.java    |   49 -
 .../apache/kerberos/kerb/preauth/PaFlags.java   |   37 -
 .../kerb/preauth/PluginRequestContext.java      |   27 -
 .../kerb/preauth/PreauthPluginMeta.java         |   32 -
 .../kerb/preauth/builtin/EncTsPreauthMeta.java  |   45 -
 .../kerb/preauth/builtin/TgtPreauthMeta.java    |   48 -
 .../kerb/preauth/pkinit/IdentityOpts.java       |   44 -
 .../kerb/preauth/pkinit/IdentityType.java       |   29 -
 .../kerb/preauth/pkinit/PkinitIdenity.java      |  128 ---
 .../kerb/preauth/pkinit/PkinitPreauthMeta.java  |   46 -
 .../kerb/preauth/pkinit/PluginOpts.java         |   67 --
 .../kerb/preauth/token/TokenPreauthMeta.java    |   46 -
 haox-kerb/kerb-core-test/pom.xml                |   46 -
 .../src/main/resources/aes128-kerberos-data     |  Bin 1712 -> 0 bytes
 .../src/main/resources/aes128-key-data          |    1 -
 .../src/main/resources/aes128-spnego-data       |  Bin 1778 -> 0 bytes
 .../src/main/resources/aes256-kerberos-data     |  Bin 1744 -> 0 bytes
 .../src/main/resources/aes256-key-data          |  Bin 32 -> 0 bytes
 .../src/main/resources/aes256-spnego-data       |  Bin 1810 -> 0 bytes
 .../src/main/resources/asrep.token              |  Bin 1241 -> 0 bytes
 .../src/main/resources/asreq.token              |  Bin 291 -> 0 bytes
 .../src/main/resources/des-kerberos-data        |  Bin 1773 -> 0 bytes
 .../src/main/resources/des-key-data             |    1 -
 .../src/main/resources/des-pac-data             |  Bin 1072 -> 0 bytes
 .../src/main/resources/des-spnego-data          |  Bin 1839 -> 0 bytes
 .../src/main/resources/exceptions.properties    |   55 -
 .../src/main/resources/rc4-kerberos-data        |  Bin 1735 -> 0 bytes
 .../src/main/resources/rc4-key-data             |    1 -
 .../src/main/resources/rc4-pac-data             |  Bin 1048 -> 0 bytes
 .../src/main/resources/rc4-spnego-data          |  Bin 1801 -> 0 bytes
 .../src/main/resources/server.keytab            |  Bin 387 -> 0 bytes
 .../src/main/resources/tgsrep.token             |  Bin 1189 -> 0 bytes
 .../src/main/resources/tgsreq.token             |  Bin 1211 -> 0 bytes
 .../org/apache/kerberos/kerb/codec/README.txt   |    5 -
 .../kerb/codec/kerberos/AuthzDataUtil.java      |   67 --
 .../kerb/codec/kerberos/KerberosApRequest.java  |   51 -
 .../kerb/codec/kerberos/KerberosConstants.java  |   44 -
 .../codec/kerberos/KerberosCredentials.java     |   55 -
 .../kerb/codec/kerberos/KerberosTicket.java     |   86 --
 .../kerb/codec/kerberos/KerberosToken.java      |   58 -
 .../org/apache/kerberos/kerb/codec/pac/Pac.java |  113 --
 .../kerberos/kerb/codec/pac/PacConstants.java   |   39 -
 .../kerb/codec/pac/PacCredentialType.java       |   41 -
 .../kerb/codec/pac/PacDataInputStream.java      |  158 ---
 .../kerberos/kerb/codec/pac/PacGroup.java       |   41 -
 .../kerberos/kerb/codec/pac/PacLogonInfo.java   |  322 ------
 .../apache/kerberos/kerb/codec/pac/PacSid.java  |  130 ---
 .../kerb/codec/pac/PacSidAttributes.java        |   41 -
 .../kerberos/kerb/codec/pac/PacSignature.java   |   52 -
 .../kerb/codec/pac/PacUnicodeString.java        |   61 --
 .../kerb/codec/spnego/SpnegoConstants.java      |   31 -
 .../kerb/codec/spnego/SpnegoInitToken.java      |   53 -
 .../kerb/codec/spnego/SpnegoTargToken.java      |   41 -
 .../kerberos/kerb/codec/spnego/SpnegoToken.java |   67 --
 .../kerberos/kerb/codec/test/CodecTest.java     |   46 -
 .../kerberos/kerb/codec/test/CodecTestUtil.java |   32 -
 .../kerb/codec/test/TestAsRepCodec.java         |   76 --
 .../kerb/codec/test/TestAsReqCodec.java         |   97 --
 .../kerberos/kerb/codec/test/TestKerberos.java  |  267 -----
 .../kerberos/kerb/codec/test/TestPac.java       |  154 ---
 .../kerberos/kerb/codec/test/TestSpnego.java    |  172 ---
 .../kerb/codec/test/TestTgsRepCodec.java        |   70 --
 .../kerb/codec/test/TestTgsReqCodec.java        |   94 --
 haox-kerb/kerb-core/pom.xml                     |   37 -
 .../org/apache/kerberos/kerb/KrbConstant.java   |   26 -
 .../org/apache/kerberos/kerb/KrbErrorCode.java  |  128 ---
 .../apache/kerberos/kerb/KrbErrorException.java |   35 -
 .../org/apache/kerberos/kerb/KrbException.java  |   43 -
 .../apache/kerberos/kerb/codec/KrbCodec.java    |   93 --
 .../kerberos/kerb/spec/KerberosString.java      |   34 -
 .../kerberos/kerb/spec/KerberosStrings.java     |   43 -
 .../apache/kerberos/kerb/spec/KerberosTime.java |  118 --
 .../kerberos/kerb/spec/KrbAppSequenceType.java  |   57 -
 .../org/apache/kerberos/kerb/spec/KrbEnum.java  |   24 -
 .../apache/kerberos/kerb/spec/KrbIntegers.java  |   54 -
 .../kerberos/kerb/spec/KrbSequenceOfType.java   |   43 -
 .../kerberos/kerb/spec/KrbSequenceType.java     |   55 -
 .../apache/kerberos/kerb/spec/ap/ApOption.java  |   58 -
 .../apache/kerberos/kerb/spec/ap/ApOptions.java |   33 -
 .../org/apache/kerberos/kerb/spec/ap/ApRep.java |   65 --
 .../org/apache/kerberos/kerb/spec/ap/ApReq.java |   89 --
 .../kerberos/kerb/spec/ap/Authenticator.java    |  144 ---
 .../kerberos/kerb/spec/ap/EncAPRepPart.java     |   85 --
 .../kerberos/kerb/spec/common/AdToken.java      |   49 -
 .../kerb/spec/common/AuthorizationData.java     |   32 -
 .../spec/common/AuthorizationDataEntry.java     |   62 --
 .../kerb/spec/common/AuthorizationType.java     |  143 ---
 .../kerberos/kerb/spec/common/CheckSum.java     |   95 --
 .../kerberos/kerb/spec/common/CheckSumType.java |  115 --
 .../kerb/spec/common/EncryptedData.java         |   96 --
 .../kerb/spec/common/EncryptionKey.java         |  107 --
 .../kerb/spec/common/EncryptionType.java        |  132 ---
 .../kerberos/kerb/spec/common/EtypeInfo.java    |   29 -
 .../kerberos/kerb/spec/common/EtypeInfo2.java   |   29 -
 .../kerb/spec/common/EtypeInfo2Entry.java       |   73 --
 .../kerb/spec/common/EtypeInfoEntry.java        |   61 --
 .../kerberos/kerb/spec/common/HostAddrType.java |  100 --
 .../kerberos/kerb/spec/common/HostAddress.java  |  109 --
 .../kerb/spec/common/HostAddresses.java         |   43 -
 .../kerberos/kerb/spec/common/KeyUsage.java     |  128 ---
 .../kerberos/kerb/spec/common/KrbError.java     |  166 ---
 .../kerberos/kerb/spec/common/KrbFlags.java     |  118 --
 .../kerberos/kerb/spec/common/KrbMessage.java   |   54 -
 .../kerb/spec/common/KrbMessageType.java        |   59 -
 .../kerberos/kerb/spec/common/KrbToken.java     |   99 --
 .../kerb/spec/common/KrbTokenEncoder.java       |   28 -
 .../kerberos/kerb/spec/common/LastReq.java      |   32 -
 .../kerberos/kerb/spec/common/LastReqEntry.java |   62 --
 .../kerberos/kerb/spec/common/LastReqType.java  |   62 --
 .../kerberos/kerb/spec/common/MethodData.java   |   30 -
 .../kerberos/kerb/spec/common/NameType.java     |   54 -
 .../kerb/spec/common/PrincipalName.java         |  199 ----
 .../apache/kerberos/kerb/spec/common/Realm.java |   34 -
 .../kerberos/kerb/spec/common/SamType.java      |   66 --
 .../kerberos/kerb/spec/common/TokenFormat.java  |   50 -
 .../kerb/spec/common/TransitedEncoding.java     |   62 --
 .../kerb/spec/common/TransitedEncodingType.java |   51 -
 .../kerberos/kerb/spec/fast/ArmorType.java      |   50 -
 .../kerberos/kerb/spec/fast/FastOption.java     |   51 -
 .../kerberos/kerb/spec/fast/FastOptions.java    |   33 -
 .../kerberos/kerb/spec/fast/KrbFastArmor.java   |   64 --
 .../kerb/spec/fast/KrbFastArmoredRep.java       |   52 -
 .../kerb/spec/fast/KrbFastArmoredReq.java       |   95 --
 .../kerb/spec/fast/KrbFastFinished.java         |   82 --
 .../kerberos/kerb/spec/fast/KrbFastReq.java     |   78 --
 .../kerb/spec/fast/KrbFastResponse.java         |   90 --
 .../kerberos/kerb/spec/fast/PaAuthnEntry.java   |   80 --
 .../kerberos/kerb/spec/fast/PaAuthnSet.java     |   29 -
 .../kerberos/kerb/spec/fast/PaFxFastReply.java  |   48 -
 .../kerb/spec/fast/PaFxFastRequest.java         |   48 -
 .../apache/kerberos/kerb/spec/kdc/AsRep.java    |   32 -
 .../apache/kerberos/kerb/spec/kdc/AsReq.java    |   31 -
 .../kerberos/kerb/spec/kdc/EncAsRepPart.java    |   31 -
 .../kerberos/kerb/spec/kdc/EncKdcRepPart.java   |  177 ---
 .../kerberos/kerb/spec/kdc/EncTgsRepPart.java   |   31 -
 .../kerberos/kerb/spec/kdc/KdcOption.java       |   79 --
 .../kerberos/kerb/spec/kdc/KdcOptions.java      |   33 -
 .../apache/kerberos/kerb/spec/kdc/KdcRep.java   |  116 --
 .../apache/kerberos/kerb/spec/kdc/KdcReq.java   |   76 --
 .../kerberos/kerb/spec/kdc/KdcReqBody.java      |  209 ----
 .../apache/kerberos/kerb/spec/kdc/TgsRep.java   |   31 -
 .../apache/kerberos/kerb/spec/kdc/TgsReq.java   |   32 -
 .../kerb/spec/pa/PaAuthenticationSet.java       |   29 -
 .../kerb/spec/pa/PaAuthenticationSetElem.java   |   74 --
 .../apache/kerberos/kerb/spec/pa/PaData.java    |   41 -
 .../kerberos/kerb/spec/pa/PaDataEntry.java      |   69 --
 .../kerberos/kerb/spec/pa/PaDataType.java       |   92 --
 .../kerberos/kerb/spec/pa/PaEncTsEnc.java       |   66 --
 .../kerberos/kerb/spec/pa/otp/OtpTokenInfo.java |   69 --
 .../kerb/spec/pa/otp/PaOtpChallenge.java        |   55 -
 .../spec/pa/pkinit/AdInitialVerifiedCas.java    |   28 -
 .../spec/pa/pkinit/AlgorithmIdentifiers.java    |   30 -
 .../kerberos/kerb/spec/pa/pkinit/AuthPack.java  |   82 --
 .../kerberos/kerb/spec/pa/pkinit/DHNonce.java   |   28 -
 .../kerberos/kerb/spec/pa/pkinit/DHRepInfo.java |   60 -
 .../pa/pkinit/ExternalPrincipalIdentifier.java  |   71 --
 .../kerb/spec/pa/pkinit/KdcDHKeyInfo.java       |   65 --
 .../kerb/spec/pa/pkinit/Krb5PrincipalName.java  |   61 --
 .../kerberos/kerb/spec/pa/pkinit/PaPkAsRep.java |   60 -
 .../kerberos/kerb/spec/pa/pkinit/PaPkAsReq.java |   71 --
 .../kerb/spec/pa/pkinit/PkAuthenticator.java    |   91 --
 .../kerb/spec/pa/pkinit/ReplyKeyPack.java       |   61 --
 .../kerb/spec/pa/pkinit/TdDhParameters.java     |   26 -
 .../kerb/spec/pa/pkinit/TrustedCertifiers.java  |   29 -
 .../kerb/spec/pa/token/PaTokenChallenge.java    |   40 -
 .../kerb/spec/pa/token/PaTokenRequest.java      |   61 --
 .../kerberos/kerb/spec/pa/token/TokenFlag.java  |   51 -
 .../kerberos/kerb/spec/pa/token/TokenFlags.java |   39 -
 .../kerberos/kerb/spec/pa/token/TokenInfo.java  |   62 --
 .../kerberos/kerb/spec/pa/token/TokenInfos.java |   29 -
 .../kerb/spec/ticket/AbstractServiceTicket.java |   49 -
 .../kerb/spec/ticket/EncTicketPart.java         |  164 ---
 .../kerb/spec/ticket/ServiceTicket.java         |   28 -
 .../kerberos/kerb/spec/ticket/TgtTicket.java    |   36 -
 .../kerberos/kerb/spec/ticket/Ticket.java       |   99 --
 .../kerberos/kerb/spec/ticket/TicketFlag.java   |   62 --
 .../kerberos/kerb/spec/ticket/TicketFlags.java  |   39 -
 .../kerberos/kerb/spec/ticket/Tickets.java      |   29 -
 .../kerb/spec/x509/AlgorithmIdentifier.java     |   58 -
 .../kerb/spec/x509/SubjectPublicKeyInfo.java    |   60 -
 haox-kerb/kerb-crypto/pom.xml                   |   42 -
 .../kerb/crypto/AbstractCryptoTypeHandler.java  |   68 --
 .../apache/kerberos/kerb/crypto/BytesUtil.java  |  183 ----
 .../apache/kerberos/kerb/crypto/Camellia.java   |  250 -----
 .../kerberos/kerb/crypto/CamelliaKey.java       |  433 --------
 .../kerberos/kerb/crypto/CheckSumHandler.java   |  153 ---
 .../kerb/crypto/CheckSumTypeHandler.java        |   57 -
 .../org/apache/kerberos/kerb/crypto/Cmac.java   |  178 ---
 .../apache/kerberos/kerb/crypto/Confounder.java |   33 -
 .../org/apache/kerberos/kerb/crypto/Crc32.java  |   78 --
 .../kerberos/kerb/crypto/CryptoTypeHandler.java |   34 -
 .../org/apache/kerberos/kerb/crypto/Des.java    |   86 --
 .../kerberos/kerb/crypto/EncTypeHandler.java    |   58 -
 .../kerberos/kerb/crypto/EncryptionHandler.java |  174 ---
 .../org/apache/kerberos/kerb/crypto/Hmac.java   |   82 --
 .../org/apache/kerberos/kerb/crypto/Md4.java    |  339 ------
 .../org/apache/kerberos/kerb/crypto/Nfold.java  |  102 --
 .../org/apache/kerberos/kerb/crypto/Nonce.java  |   32 -
 .../org/apache/kerberos/kerb/crypto/Pbkdf.java  |   40 -
 .../org/apache/kerberos/kerb/crypto/Random.java |   33 -
 .../org/apache/kerberos/kerb/crypto/Rc4.java    |   63 --
 .../cksum/AbstractCheckSumTypeHandler.java      |  112 --
 .../cksum/AbstractKeyedCheckSumTypeHandler.java |   75 --
 .../crypto/cksum/CmacCamellia128CheckSum.java   |   53 -
 .../crypto/cksum/CmacCamellia256CheckSum.java   |   53 -
 .../kerb/crypto/cksum/CmacKcCheckSum.java       |   36 -
 .../crypto/cksum/ConfounderedDesCheckSum.java   |  120 --
 .../kerb/crypto/cksum/Crc32CheckSum.java        |   35 -
 .../kerb/crypto/cksum/DesCbcCheckSum.java       |   33 -
 .../kerb/crypto/cksum/HashProvider.java         |   35 -
 .../kerb/crypto/cksum/HmacKcCheckSum.java       |   37 -
 .../kerb/crypto/cksum/HmacMd5Rc4CheckSum.java   |   73 --
 .../crypto/cksum/HmacSha1Aes128CheckSum.java    |   53 -
 .../crypto/cksum/HmacSha1Aes256CheckSum.java    |   53 -
 .../kerb/crypto/cksum/HmacSha1Des3CheckSum.java |   53 -
 .../kerberos/kerb/crypto/cksum/KcCheckSum.java  |   48 -
 .../kerb/crypto/cksum/Md5HmacRc4CheckSum.java   |   70 --
 .../kerb/crypto/cksum/RsaMd4CheckSum.java       |   35 -
 .../kerb/crypto/cksum/RsaMd4DesCheckSum.java    |   34 -
 .../kerb/crypto/cksum/RsaMd5CheckSum.java       |   35 -
 .../kerb/crypto/cksum/RsaMd5DesCheckSum.java    |   34 -
 .../kerb/crypto/cksum/Sha1CheckSum.java         |   35 -
 .../cksum/provider/AbstractHashProvider.java    |   52 -
 .../AbstractUnkeyedCheckSumTypeHandler.java     |   54 -
 .../crypto/cksum/provider/Crc32Provider.java    |   40 -
 .../kerb/crypto/cksum/provider/Md4Provider.java |   34 -
 .../kerb/crypto/cksum/provider/Md5Provider.java |   27 -
 .../provider/MessageDigestHashProvider.java     |   56 -
 .../crypto/cksum/provider/Sha1Provider.java     |   27 -
 .../kerb/crypto/enc/AbstractEncTypeHandler.java |  160 ---
 .../kerb/crypto/enc/Aes128CtsHmacSha1Enc.java   |   48 -
 .../kerb/crypto/enc/Aes256CtsHmacSha1Enc.java   |   48 -
 .../kerb/crypto/enc/Camellia128CtsCmacEnc.java  |   41 -
 .../kerb/crypto/enc/Camellia256CtsCmacEnc.java  |   41 -
 .../kerb/crypto/enc/Des3CbcSha1Enc.java         |   42 -
 .../kerberos/kerb/crypto/enc/DesCbcCrcEnc.java  |   55 -
 .../kerberos/kerb/crypto/enc/DesCbcEnc.java     |   88 --
 .../kerberos/kerb/crypto/enc/DesCbcMd4Enc.java  |   39 -
 .../kerberos/kerb/crypto/enc/DesCbcMd5Enc.java  |   39 -
 .../kerb/crypto/enc/EncryptProvider.java        |   43 -
 .../kerberos/kerb/crypto/enc/KeKiCmacEnc.java   |   53 -
 .../kerberos/kerb/crypto/enc/KeKiEnc.java       |  129 ---
 .../kerb/crypto/enc/KeKiHmacSha1Enc.java        |   50 -
 .../kerberos/kerb/crypto/enc/Rc4HmacEnc.java    |  149 ---
 .../kerberos/kerb/crypto/enc/Rc4HmacExpEnc.java |   33 -
 .../enc/provider/AbstractEncryptProvider.java   |   99 --
 .../crypto/enc/provider/Aes128Provider.java     |   27 -
 .../crypto/enc/provider/Aes256Provider.java     |   27 -
 .../kerb/crypto/enc/provider/AesProvider.java   |   62 --
 .../enc/provider/Camellia128Provider.java       |   27 -
 .../enc/provider/Camellia256Provider.java       |   27 -
 .../crypto/enc/provider/CamelliaProvider.java   |   58 -
 .../kerb/crypto/enc/provider/Des3Provider.java  |   65 --
 .../kerb/crypto/enc/provider/DesProvider.java   |   98 --
 .../kerb/crypto/enc/provider/Rc4Provider.java   |   49 -
 .../kerb/crypto/key/AbstractKeyMaker.java       |   93 --
 .../kerberos/kerb/crypto/key/AesKeyMaker.java   |   65 --
 .../kerb/crypto/key/CamelliaKeyMaker.java       |  121 --
 .../kerberos/kerb/crypto/key/Des3KeyMaker.java  |   79 --
 .../kerberos/kerb/crypto/key/DesKeyMaker.java   |  282 -----
 .../kerberos/kerb/crypto/key/DkKeyMaker.java    |   73 --
 .../kerberos/kerb/crypto/key/KeyMaker.java      |   29 -
 .../kerberos/kerb/crypto/key/Rc4KeyMaker.java   |   52 -
 .../src/main/resources/kdc-krb5.conf            |   25 -
 .../kerb-crypto/src/main/resources/kdc.ldiff    |   46 -
 .../kerberos/kerb/crypto/CamelliaEncTest.java   |  113 --
 .../kerberos/kerb/crypto/CheckSumTest.java      |  109 --
 .../kerberos/kerb/crypto/CheckSumsTest.java     |  233 ----
 .../apache/kerberos/kerb/crypto/CmacTest.java   |   85 --
 .../apache/kerberos/kerb/crypto/Crc32Test.java  |  119 --
 .../kerberos/kerb/crypto/DecryptionTest.java    |  985 -----------------
 .../kerberos/kerb/crypto/DesKeyMakerTest.java   |   65 --
 .../kerberos/kerb/crypto/KeyDeriveTest.java     |  228 ----
 .../kerberos/kerb/crypto/String2keyTest.java    |  583 ----------
 .../src/test/resources/camellia-expect-vt.txt   | 1036 ------------------
 haox-kerb/kerb-identity/pom.xml                 |   46 -
 .../kerberos/kerb/identity/Attribute.java       |   36 -
 .../kerb/identity/ComplexAttribute.java         |   42 -
 .../apache/kerberos/kerb/identity/Identity.java |   67 --
 .../kerberos/kerb/identity/IdentityService.java |   31 -
 .../kerberos/kerb/identity/KrbAttributes.java   |   25 -
 .../kerberos/kerb/identity/KrbIdentity.java     |  126 ---
 .../kerberos/kerb/identity/SimpleAttribute.java |   37 -
 .../backend/AbstractIdentityBackend.java        |   26 -
 .../backend/InMemoryIdentityBackend.java        |   76 --
 .../identity/backend/SimpleIdentityBackend.java |   46 -
 haox-kerb/kerb-kdc-test/pom.xml                 |   61 --
 .../kerberos/kerb/server/TestKdcServer.java     |  122 ---
 .../kerb-kdc-test/src/main/resources/cacert.pem |   23 -
 .../kerb-kdc-test/src/main/resources/cakey.pem  |   27 -
 .../src/main/resources/extensions.kdc           |   36 -
 .../src/main/resources/kdc-krb5.conf            |   25 -
 .../kerb-kdc-test/src/main/resources/kdc.ldiff  |   46 -
 .../src/main/resources/kdccert.pem              |   26 -
 .../kerb-kdc-test/src/main/resources/kdckey.pem |   27 -
 .../src/main/resources/usercert.pem             |   26 -
 .../src/main/resources/userkey.pem              |   27 -
 .../apache/kerberos/kerb/server/KdcTest.java    |   49 -
 .../kerberos/kerb/server/KdcTestBase.java       |   72 --
 .../kerberos/kerb/server/WithCertKdcTest.java   |   90 --
 .../kerberos/kerb/server/WithTokenKdcTest.java  |   57 -
 haox-kerb/kerb-server/pom.xml                   |   61 --
 .../apache/kerberos/kerb/server/KdcConfig.java  |  153 ---
 .../kerberos/kerb/server/KdcConfigKey.java      |   95 --
 .../apache/kerberos/kerb/server/KdcContext.java |   91 --
 .../apache/kerberos/kerb/server/KdcHandler.java |  148 ---
 .../apache/kerberos/kerb/server/KdcServer.java  |  196 ----
 .../kerberos/kerb/server/SimpleKdcServer.java   |   43 -
 .../server/preauth/AbstractPreauthPlugin.java   |   91 --
 .../kerb/server/preauth/FastContext.java        |   36 -
 .../kerb/server/preauth/KdcPreauth.java         |   81 --
 .../kerb/server/preauth/PreauthContext.java     |   44 -
 .../kerb/server/preauth/PreauthHandle.java      |   56 -
 .../kerb/server/preauth/PreauthHandler.java     |  124 ---
 .../server/preauth/builtin/EncTsPreauth.java    |   60 -
 .../kerb/server/preauth/builtin/TgtPreauth.java |   45 -
 .../server/preauth/pkinit/PkinitKdcContext.java |   30 -
 .../server/preauth/pkinit/PkinitPreauth.java    |   93 --
 .../preauth/pkinit/PkinitRequestContext.java    |   30 -
 .../preauth/token/TokenRequestContext.java      |   32 -
 .../kerb/server/replay/CacheService.java        |   26 -
 .../kerb/server/replay/ReplayCheckService.java  |   25 -
 .../server/replay/ReplayCheckServiceImpl.java   |   40 -
 .../kerb/server/replay/RequestRecord.java       |   58 -
 .../kerb/server/replay/SimpleCacheService.java  |   46 -
 .../kerberos/kerb/server/request/AsRequest.java |   91 --
 .../kerb/server/request/KdcRequest.java         |  521 ---------
 .../kerb/server/request/TgsRequest.java         |  196 ----
 .../kerb-server/src/main/resources/kdc.conf     |   51 -
 .../apache/kerberos/kerb/server/KdcTest.java    |   70 --
 .../kerberos/kerb/server/TestKdcConfigLoad.java |   57 -
 haox-kerb/kerb-util/pom.xml                     |   46 -
 .../apache/kerberos/kerb/KrbInputStream.java    |   74 --
 .../apache/kerberos/kerb/KrbOutputStream.java   |   66 --
 .../kerb/ccache/CredCacheInputStream.java       |  167 ---
 .../kerb/ccache/CredCacheOutputStream.java      |  123 ---
 .../apache/kerberos/kerb/ccache/Credential.java |  225 ----
 .../kerberos/kerb/ccache/CredentialCache.java   |  278 -----
 .../kerb/ccache/KrbCredentialCache.java         |   57 -
 .../org/apache/kerberos/kerb/ccache/Tag.java    |   34 -
 .../org/apache/kerberos/kerb/ccache/ccache.txt  |   98 --
 .../org/apache/kerberos/kerb/keytab/Keytab.java |  197 ----
 .../kerberos/kerb/keytab/KeytabEntry.java       |  121 --
 .../kerberos/kerb/keytab/KeytabInputStream.java |   89 --
 .../kerb/keytab/KeytabOutputStream.java         |   63 --
 .../apache/kerberos/kerb/keytab/KrbKeytab.java  |   55 -
 .../org/apache/kerberos/kerb/keytab/keytab.txt  |  106 --
 .../apache/kerberos/kerb/util/CcacheTest.java   |   57 -
 .../kerberos/kerb/util/EncryptionTest.java      |  148 ---
 .../org/apache/kerberos/kerb/util/KeysTest.java |   81 --
 .../apache/kerberos/kerb/util/KeytabTest.java   |   76 --
 .../test/resources/aes128-cts-hmac-sha1-96.cc   |  Bin 691 -> 0 bytes
 .../test/resources/aes256-cts-hmac-sha1-96.cc   |  Bin 725 -> 0 bytes
 .../src/test/resources/arcfour-hmac.cc          |  Bin 692 -> 0 bytes
 .../src/test/resources/camellia-expect-vt.txt   | 1036 ------------------
 .../src/test/resources/camellia128-cts-cmac.cc  |  Bin 700 -> 0 bytes
 .../src/test/resources/camellia256-cts-cmac.cc  |  Bin 734 -> 0 bytes
 .../kerb-util/src/test/resources/des-cbc-crc.cc |  Bin 676 -> 0 bytes
 .../src/test/resources/des3-cbc-sha1.cc         |  Bin 724 -> 0 bytes
 .../kerb-util/src/test/resources/krbtgt.keytab  |  Bin 594 -> 0 bytes
 haox-kerb/kerb-util/src/test/resources/test.cc  |  Bin 890 -> 0 bytes
 .../kerb-util/src/test/resources/test.keytab    |  Bin 466 -> 0 bytes
 haox-kerb/pom.xml                               |   48 -
 kdc-backend/README                              |    5 +
 kdc-backend/ldap-identity-backend/pom.xml       |   41 +
 .../identitybackend/LdapIdentityBackend.java    |   77 ++
 kdc-backend/pom.xml                             |   32 +
 kerby-asn1/README.md                            |  301 +++++
 kerby-asn1/pom.xml                              |   39 +
 .../java/org/apache/kerby/asn1/Asn1Dump.java    |   70 ++
 .../java/org/apache/kerby/asn1/Asn1Factory.java |   44 +
 .../org/apache/kerby/asn1/Asn1InputBuffer.java  |   82 ++
 .../org/apache/kerby/asn1/Asn1OutputBuffer.java |   72 ++
 .../org/apache/kerby/asn1/EncodingOption.java   |   84 ++
 .../apache/kerby/asn1/LimitedByteBuffer.java    |  121 ++
 .../java/org/apache/kerby/asn1/TagClass.java    |   74 ++
 .../org/apache/kerby/asn1/TaggingOption.java    |   68 ++
 .../org/apache/kerby/asn1/UniversalTag.java     |  106 ++
 .../kerby/asn1/type/AbstractAsn1Type.java       |  420 +++++++
 .../org/apache/kerby/asn1/type/Asn1Any.java     |   47 +
 .../apache/kerby/asn1/type/Asn1BigInteger.java  |   48 +
 .../apache/kerby/asn1/type/Asn1BitString.java   |   86 ++
 .../apache/kerby/asn1/type/Asn1BmpString.java   |   72 ++
 .../org/apache/kerby/asn1/type/Asn1Boolean.java |   71 ++
 .../org/apache/kerby/asn1/type/Asn1Choice.java  |  173 +++
 .../apache/kerby/asn1/type/Asn1Collection.java  |  137 +++
 .../kerby/asn1/type/Asn1CollectionOf.java       |   88 ++
 .../kerby/asn1/type/Asn1CollectionType.java     |  195 ++++
 .../apache/kerby/asn1/type/Asn1FieldInfo.java   |   76 ++
 .../kerby/asn1/type/Asn1GeneralString.java      |   33 +
 .../kerby/asn1/type/Asn1GeneralizedTime.java    |  134 +++
 .../apache/kerby/asn1/type/Asn1IA5String.java   |   33 +
 .../org/apache/kerby/asn1/type/Asn1Integer.java |   46 +
 .../org/apache/kerby/asn1/type/Asn1Item.java    |  155 +++
 .../org/apache/kerby/asn1/type/Asn1Null.java    |   52 +
 .../kerby/asn1/type/Asn1NumericsString.java     |   50 +
 .../kerby/asn1/type/Asn1ObjectIdentifier.java   |  164 +++
 .../apache/kerby/asn1/type/Asn1OctetString.java |   51 +
 .../kerby/asn1/type/Asn1PrintableString.java    |   33 +
 .../apache/kerby/asn1/type/Asn1Sequence.java    |   30 +
 .../apache/kerby/asn1/type/Asn1SequenceOf.java  |   38 +
 .../kerby/asn1/type/Asn1SequenceType.java       |   37 +
 .../org/apache/kerby/asn1/type/Asn1Set.java     |   30 +
 .../org/apache/kerby/asn1/type/Asn1SetOf.java   |   30 +
 .../org/apache/kerby/asn1/type/Asn1SetType.java |   37 +
 .../org/apache/kerby/asn1/type/Asn1Simple.java  |  184 ++++
 .../org/apache/kerby/asn1/type/Asn1String.java  |  292 +++++
 .../apache/kerby/asn1/type/Asn1T61String.java   |   33 +
 .../kerby/asn1/type/Asn1T61Utf8String.java      |   43 +
 .../org/apache/kerby/asn1/type/Asn1Tagging.java |  104 ++
 .../org/apache/kerby/asn1/type/Asn1Type.java    |   41 +
 .../kerby/asn1/type/Asn1UniversalString.java    |   33 +
 .../org/apache/kerby/asn1/type/Asn1UtcTime.java |   89 ++
 .../apache/kerby/asn1/type/Asn1Utf8String.java  |   47 +
 .../kerby/asn1/type/Asn1VisibleString.java      |   33 +
 .../kerby/asn1/type/TaggingCollection.java      |  105 ++
 .../apache/kerby/asn1/type/TaggingSequence.java |   35 +
 .../org/apache/kerby/asn1/type/TaggingSet.java  |   35 +
 .../org/apache/kerby/asn1/PersonnelRecord.java  |  208 ++++
 .../org/apache/kerby/asn1/TestAsn1Boolean.java  |   56 +
 .../apache/kerby/asn1/TestAsn1Collection.java   |   58 +
 .../org/apache/kerby/asn1/TestAsn1Input.java    |   35 +
 .../org/apache/kerby/asn1/TestAsn1Integer.java  |   70 ++
 .../kerby/asn1/TestAsn1ObjectIdentifier.java    |   64 ++
 .../org/apache/kerby/asn1/TestAsn1UtcTime.java  |   70 ++
 .../java/org/apache/kerby/asn1/TestData.java    |  127 +++
 .../apache/kerby/asn1/TestPersonnelRecord.java  |  126 +++
 .../apache/kerby/asn1/TestTaggingEncoding.java  |  203 ++++
 .../test/java/org/apache/kerby/asn1/Util.java   |   72 ++
 kerby-kdc/pom.xml                               |   55 +
 .../kerberos/kdc/server/ApacheKdcServer.java    |   41 +
 .../kerby/kerberos/kdc/server/KdcTest.java      |   70 ++
 kerby-kerb/README                               |    2 +
 kerby-kerb/kerb-client/pom.xml                  |   60 +
 .../kerby/kerberos/kerb/client/KrbClient.java   |  321 ++++++
 .../kerby/kerberos/kerb/client/KrbConfig.java   |  161 +++
 .../kerberos/kerb/client/KrbConfigKey.java      |  100 ++
 .../kerby/kerberos/kerb/client/KrbContext.java  |   97 ++
 .../kerby/kerberos/kerb/client/KrbHandler.java  |   99 ++
 .../kerby/kerberos/kerb/client/KrbOption.java   |   91 ++
 .../kerby/kerberos/kerb/client/KrbOptions.java  |   96 ++
 .../kerb/client/event/KrbClientEvent.java       |   43 +
 .../kerb/client/event/KrbClientEventType.java   |   29 +
 .../client/preauth/AbstractPreauthPlugin.java   |  122 +++
 .../kerb/client/preauth/FastContext.java        |   36 +
 .../kerb/client/preauth/KrbPreauth.java         |  107 ++
 .../kerb/client/preauth/PreauthContext.java     |  108 ++
 .../kerb/client/preauth/PreauthHandle.java      |   72 ++
 .../kerb/client/preauth/PreauthHandler.java     |  249 +++++
 .../kerb/client/preauth/UserResponseItem.java   |   31 +
 .../kerb/client/preauth/UserResponser.java      |   77 ++
 .../client/preauth/builtin/EncTsPreauth.java    |   94 ++
 .../kerb/client/preauth/builtin/TgtPreauth.java |   66 ++
 .../client/preauth/pkinit/PkinitContext.java    |   30 +
 .../client/preauth/pkinit/PkinitPreauth.java    |  233 ++++
 .../preauth/pkinit/PkinitRequestContext.java    |   44 +
 .../preauth/pkinit/PkinitRequestOpts.java       |   40 +
 .../kerb/client/preauth/token/TokenContext.java |   28 +
 .../kerb/client/preauth/token/TokenPreauth.java |  124 +++
 .../preauth/token/TokenRequestContext.java      |   32 +
 .../kerberos/kerb/client/request/AsRequest.java |  127 +++
 .../kerb/client/request/AsRequestWithCert.java  |   57 +
 .../client/request/AsRequestWithPasswd.java     |   50 +
 .../kerb/client/request/AsRequestWithToken.java |   52 +
 .../kerb/client/request/KdcRequest.java         |  358 ++++++
 .../kerb/client/request/TgsRequest.java         |  136 +++
 .../src/main/resources/kdc-krb5.conf            |   25 +
 .../kerb-client/src/main/resources/kdc.ldiff    |   46 +
 .../kerb-client/src/main/resources/krb5.conf    |   57 +
 .../kerberos/kerb/client/TestKrbConfigLoad.java |   71 ++
 kerby-kerb/kerb-common/pom.xml                  |   50 +
 .../apache/kerby/kerberos/kerb/KrbThrow.java    |   35 +
 .../org/apache/kerby/kerberos/kerb/Message.java |   43 +
 .../apache/kerby/kerberos/kerb/MessageCode.java |   24 +
 .../kerberos/kerb/common/EncryptionUtil.java    |   98 ++
 .../kerberos/kerb/common/KrbConfHelper.java     |  104 ++
 .../kerberos/kerb/common/KrbErrorUtil.java      |   67 ++
 .../kerb/common/KrbStreamingDecoder.java        |   42 +
 .../kerby/kerberos/kerb/common/KrbUtil.java     |   49 +
 .../kerberos/kerb/common/SectionConfigKey.java  |   31 +
 .../kerby/kerberos/kerb/preauth/PaFlag.java     |   49 +
 .../kerby/kerberos/kerb/preauth/PaFlags.java    |   37 +
 .../kerb/preauth/PluginRequestContext.java      |   27 +
 .../kerb/preauth/PreauthPluginMeta.java         |   32 +
 .../kerb/preauth/builtin/EncTsPreauthMeta.java  |   45 +
 .../kerb/preauth/builtin/TgtPreauthMeta.java    |   48 +
 .../kerb/preauth/pkinit/IdentityOpts.java       |   44 +
 .../kerb/preauth/pkinit/IdentityType.java       |   29 +
 .../kerb/preauth/pkinit/PkinitIdenity.java      |  128 +++
 .../kerb/preauth/pkinit/PkinitPreauthMeta.java  |   46 +
 .../kerb/preauth/pkinit/PluginOpts.java         |   67 ++
 .../kerb/preauth/token/TokenPreauthMeta.java    |   46 +
 kerby-kerb/kerb-core-test/pom.xml               |   46 +
 .../src/main/resources/aes128-kerberos-data     |  Bin 0 -> 1712 bytes
 .../src/main/resources/aes128-key-data          |    1 +
 .../src/main/resources/aes128-spnego-data       |  Bin 0 -> 1778 bytes
 .../src/main/resources/aes256-kerberos-data     |  Bin 0 -> 1744 bytes
 .../src/main/resources/aes256-key-data          |  Bin 0 -> 32 bytes
 .../src/main/resources/aes256-spnego-data       |  Bin 0 -> 1810 bytes
 .../src/main/resources/asrep.token              |  Bin 0 -> 1241 bytes
 .../src/main/resources/asreq.token              |  Bin 0 -> 291 bytes
 .../src/main/resources/des-kerberos-data        |  Bin 0 -> 1773 bytes
 .../src/main/resources/des-key-data             |    1 +
 .../src/main/resources/des-pac-data             |  Bin 0 -> 1072 bytes
 .../src/main/resources/des-spnego-data          |  Bin 0 -> 1839 bytes
 .../src/main/resources/exceptions.properties    |   55 +
 .../src/main/resources/rc4-kerberos-data        |  Bin 0 -> 1735 bytes
 .../src/main/resources/rc4-key-data             |    1 +
 .../src/main/resources/rc4-pac-data             |  Bin 0 -> 1048 bytes
 .../src/main/resources/rc4-spnego-data          |  Bin 0 -> 1801 bytes
 .../src/main/resources/server.keytab            |  Bin 0 -> 387 bytes
 .../src/main/resources/tgsrep.token             |  Bin 0 -> 1189 bytes
 .../src/main/resources/tgsreq.token             |  Bin 0 -> 1211 bytes
 .../apache/kerby/kerberos/kerb/codec/README.txt |    5 +
 .../kerb/codec/kerberos/AuthzDataUtil.java      |   67 ++
 .../kerb/codec/kerberos/KerberosApRequest.java  |   51 +
 .../kerb/codec/kerberos/KerberosConstants.java  |   44 +
 .../codec/kerberos/KerberosCredentials.java     |   55 +
 .../kerb/codec/kerberos/KerberosTicket.java     |   86 ++
 .../kerb/codec/kerberos/KerberosToken.java      |   58 +
 .../kerby/kerberos/kerb/codec/pac/Pac.java      |  113 ++
 .../kerberos/kerb/codec/pac/PacConstants.java   |   39 +
 .../kerb/codec/pac/PacCredentialType.java       |   41 +
 .../kerb/codec/pac/PacDataInputStream.java      |  158 +++
 .../kerby/kerberos/kerb/codec/pac/PacGroup.java |   41 +
 .../kerberos/kerb/codec/pac/PacLogonInfo.java   |  322 ++++++
 .../kerby/kerberos/kerb/codec/pac/PacSid.java   |  130 +++
 .../kerb/codec/pac/PacSidAttributes.java        |   41 +
 .../kerberos/kerb/codec/pac/PacSignature.java   |   52 +
 .../kerb/codec/pac/PacUnicodeString.java        |   61 ++
 .../kerb/codec/spnego/SpnegoConstants.java      |   31 +
 .../kerb/codec/spnego/SpnegoInitToken.java      |   53 +
 .../kerb/codec/spnego/SpnegoTargToken.java      |   41 +
 .../kerberos/kerb/codec/spnego/SpnegoToken.java |   67 ++
 .../kerberos/kerb/codec/test/CodecTest.java     |   46 +
 .../kerberos/kerb/codec/test/CodecTestUtil.java |   32 +
 .../kerb/codec/test/TestAsRepCodec.java         |   74 ++
 .../kerb/codec/test/TestAsReqCodec.java         |   97 ++
 .../kerberos/kerb/codec/test/TestKerberos.java  |  267 +++++
 .../kerby/kerberos/kerb/codec/test/TestPac.java |  154 +++
 .../kerberos/kerb/codec/test/TestSpnego.java    |  172 +++
 .../kerb/codec/test/TestTgsRepCodec.java        |   70 ++
 .../kerb/codec/test/TestTgsReqCodec.java        |   94 ++
 kerby-kerb/kerb-core/pom.xml                    |   37 +
 .../apache/kerby/kerberos/kerb/KrbConstant.java |   26 +
 .../kerby/kerberos/kerb/KrbErrorCode.java       |  128 +++
 .../kerby/kerberos/kerb/KrbErrorException.java  |   35 +
 .../kerby/kerberos/kerb/KrbException.java       |   43 +
 .../kerby/kerberos/kerb/codec/KrbCodec.java     |   93 ++
 .../kerberos/kerb/spec/KerberosString.java      |   34 +
 .../kerberos/kerb/spec/KerberosStrings.java     |   43 +
 .../kerby/kerberos/kerb/spec/KerberosTime.java  |  118 ++
 .../kerberos/kerb/spec/KrbAppSequenceType.java  |   57 +
 .../kerby/kerberos/kerb/spec/KrbEnum.java       |   24 +
 .../kerby/kerberos/kerb/spec/KrbIntegers.java   |   54 +
 .../kerberos/kerb/spec/KrbSequenceOfType.java   |   43 +
 .../kerberos/kerb/spec/KrbSequenceType.java     |   55 +
 .../kerby/kerberos/kerb/spec/ap/ApOption.java   |   58 +
 .../kerby/kerberos/kerb/spec/ap/ApOptions.java  |   33 +
 .../kerby/kerberos/kerb/spec/ap/ApRep.java      |   65 ++
 .../kerby/kerberos/kerb/spec/ap/ApReq.java      |   89 ++
 .../kerberos/kerb/spec/ap/Authenticator.java    |  144 +++
 .../kerberos/kerb/spec/ap/EncAPRepPart.java     |   85 ++
 .../kerberos/kerb/spec/common/AdToken.java      |   49 +
 .../kerb/spec/common/AuthorizationData.java     |   32 +
 .../spec/common/AuthorizationDataEntry.java     |   62 ++
 .../kerb/spec/common/AuthorizationType.java     |  143 +++
 .../kerberos/kerb/spec/common/CheckSum.java     |   95 ++
 .../kerberos/kerb/spec/common/CheckSumType.java |  115 ++
 .../kerb/spec/common/EncryptedData.java         |   96 ++
 .../kerb/spec/common/EncryptionKey.java         |  107 ++
 .../kerb/spec/common/EncryptionType.java        |  132 +++
 .../kerberos/kerb/spec/common/EtypeInfo.java    |   29 +
 .../kerberos/kerb/spec/common/EtypeInfo2.java   |   29 +
 .../kerb/spec/common/EtypeInfo2Entry.java       |   73 ++
 .../kerb/spec/common/EtypeInfoEntry.java        |   61 ++
 .../kerberos/kerb/spec/common/HostAddrType.java |  100 ++
 .../kerberos/kerb/spec/common/HostAddress.java  |  109 ++
 .../kerb/spec/common/HostAddresses.java         |   43 +
 .../kerberos/kerb/spec/common/KeyUsage.java     |  128 +++
 .../kerberos/kerb/spec/common/KrbError.java     |  166 +++
 .../kerberos/kerb/spec/common/KrbFlags.java     |  118 ++
 .../kerberos/kerb/spec/common/KrbMessage.java   |   54 +
 .../kerb/spec/common/KrbMessageType.java        |   59 +
 .../kerberos/kerb/spec/common/KrbToken.java     |   99 ++
 .../kerb/spec/common/KrbTokenEncoder.java       |   28 +
 .../kerberos/kerb/spec/common/LastReq.java      |   32 +
 .../kerberos/kerb/spec/common/LastReqEntry.java |   62 ++
 .../kerberos/kerb/spec/common/LastReqType.java  |   62 ++
 .../kerberos/kerb/spec/common/MethodData.java   |   30 +
 .../kerberos/kerb/spec/common/NameType.java     |   54 +
 .../kerb/spec/common/PrincipalName.java         |  199 ++++
 .../kerby/kerberos/kerb/spec/common/Realm.java  |   34 +
 .../kerberos/kerb/spec/common/SamType.java      |   66 ++
 .../kerberos/kerb/spec/common/TokenFormat.java  |   50 +
 .../kerb/spec/common/TransitedEncoding.java     |   62 ++
 .../kerb/spec/common/TransitedEncodingType.java |   51 +
 .../kerberos/kerb/spec/fast/ArmorType.java      |   50 +
 .../kerberos/kerb/spec/fast/FastOption.java     |   51 +
 .../kerberos/kerb/spec/fast/FastOptions.java    |   33 +
 .../kerberos/kerb/spec/fast/KrbFastArmor.java   |   64 ++
 .../kerb/spec/fast/KrbFastArmoredRep.java       |   52 +
 .../kerb/spec/fast/KrbFastArmoredReq.java       |   95 ++
 .../kerb/spec/fast/KrbFastFinished.java         |   82 ++
 .../kerberos/kerb/spec/fast/KrbFastReq.java     |   78 ++
 .../kerb/spec/fast/KrbFastResponse.java         |   90 ++
 .../kerberos/kerb/spec/fast/PaAuthnEntry.java   |   80 ++
 .../kerberos/kerb/spec/fast/PaAuthnSet.java     |   29 +
 .../kerberos/kerb/spec/fast/PaFxFastReply.java  |   48 +
 .../kerb/spec/fast/PaFxFastRequest.java         |   48 +
 .../kerby/kerberos/kerb/spec/kdc/AsRep.java     |   32 +
 .../kerby/kerberos/kerb/spec/kdc/AsReq.java     |   31 +
 .../kerberos/kerb/spec/kdc/EncAsRepPart.java    |   31 +
 .../kerberos/kerb/spec/kdc/EncKdcRepPart.java   |  177 +++
 .../kerberos/kerb/spec/kdc/EncTgsRepPart.java   |   31 +
 .../kerby/kerberos/kerb/spec/kdc/KdcOption.java |   79 ++
 .../kerberos/kerb/spec/kdc/KdcOptions.java      |   33 +
 .../kerby/kerberos/kerb/spec/kdc/KdcRep.java    |  116 ++
 .../kerby/kerberos/kerb/spec/kdc/KdcReq.java    |   76 ++
 .../kerberos/kerb/spec/kdc/KdcReqBody.java      |  209 ++++
 .../kerby/kerberos/kerb/spec/kdc/TgsRep.java    |   31 +
 .../kerby/kerberos/kerb/spec/kdc/TgsReq.java    |   32 +
 .../kerb/spec/pa/PaAuthenticationSet.java       |   29 +
 .../kerb/spec/pa/PaAuthenticationSetElem.java   |   74 ++
 .../kerby/kerberos/kerb/spec/pa/PaData.java     |   41 +
 .../kerberos/kerb/spec/pa/PaDataEntry.java      |   69 ++
 .../kerby/kerberos/kerb/spec/pa/PaDataType.java |   92 ++
 .../kerby/kerberos/kerb/spec/pa/PaEncTsEnc.java |   66 ++
 .../kerberos/kerb/spec/pa/otp/OtpTokenInfo.java |   69 ++
 .../kerb/spec/pa/otp/PaOtpChallenge.java        |   55 +
 .../spec/pa/pkinit/AdInitialVerifiedCas.java    |   28 +
 .../spec/pa/pkinit/AlgorithmIdentifiers.java    |   30 +
 .../kerberos/kerb/spec/pa/pkinit/AuthPack.java  |   82 ++
 .../kerberos/kerb/spec/pa/pkinit/DHNonce.java   |   28 +
 .../kerberos/kerb/spec/pa/pkinit/DHRepInfo.java |   60 +
 .../pa/pkinit/ExternalPrincipalIdentifier.java  |   71 ++
 .../kerb/spec/pa/pkinit/KdcDHKeyInfo.java       |   65 ++
 .../kerb/spec/pa/pkinit/Krb5PrincipalName.java  |   61 ++
 .../kerberos/kerb/spec/pa/pkinit/PaPkAsRep.java |   60 +
 .../kerberos/kerb/spec/pa/pkinit/PaPkAsReq.java |   71 ++
 .../kerb/spec/pa/pkinit/PkAuthenticator.java    |   91 ++
 .../kerb/spec/pa/pkinit/ReplyKeyPack.java       |   61 ++
 .../kerb/spec/pa/pkinit/TdDhParameters.java     |   26 +
 .../kerb/spec/pa/pkinit/TrustedCertifiers.java  |   29 +
 .../kerb/spec/pa/token/PaTokenChallenge.java    |   40 +
 .../kerb/spec/pa/token/PaTokenRequest.java      |   61 ++
 .../kerberos/kerb/spec/pa/token/TokenFlag.java  |   51 +
 .../kerberos/kerb/spec/pa/token/TokenFlags.java |   39 +
 .../kerberos/kerb/spec/pa/token/TokenInfo.java  |   62 ++
 .../kerberos/kerb/spec/pa/token/TokenInfos.java |   29 +
 .../kerb/spec/ticket/AbstractServiceTicket.java |   49 +
 .../kerb/spec/ticket/EncTicketPart.java         |  164 +++
 .../kerb/spec/ticket/ServiceTicket.java         |   28 +
 .../kerberos/kerb/spec/ticket/TgtTicket.java    |   36 +
 .../kerby/kerberos/kerb/spec/ticket/Ticket.java |   99 ++
 .../kerberos/kerb/spec/ticket/TicketFlag.java   |   62 ++
 .../kerberos/kerb/spec/ticket/TicketFlags.java  |   39 +
 .../kerberos/kerb/spec/ticket/Tickets.java      |   29 +
 .../kerb/spec/x509/AlgorithmIdentifier.java     |   58 +
 .../kerb/spec/x509/SubjectPublicKeyInfo.java    |   60 +
 kerby-kerb/kerb-crypto/pom.xml                  |   42 +
 .../kerb/crypto/AbstractCryptoTypeHandler.java  |   68 ++
 .../kerby/kerberos/kerb/crypto/BytesUtil.java   |  183 ++++
 .../kerby/kerberos/kerb/crypto/Camellia.java    |  250 +++++
 .../kerby/kerberos/kerb/crypto/CamelliaKey.java |  433 ++++++++
 .../kerberos/kerb/crypto/CheckSumHandler.java   |  153 +++
 .../kerb/crypto/CheckSumTypeHandler.java        |   57 +
 .../apache/kerby/kerberos/kerb/crypto/Cmac.java |  178 +++
 .../kerby/kerberos/kerb/crypto/Confounder.java  |   33 +
 .../kerby/kerberos/kerb/crypto/Crc32.java       |   78 ++
 .../kerberos/kerb/crypto/CryptoTypeHandler.java |   34 +
 .../apache/kerby/kerberos/kerb/crypto/Des.java  |   84 ++
 .../kerberos/kerb/crypto/EncTypeHandler.java    |   58 +
 .../kerberos/kerb/crypto/EncryptionHandler.java |  174 +++
 .../apache/kerby/kerberos/kerb/crypto/Hmac.java |   82 ++
 .../apache/kerby/kerberos/kerb/crypto/Md4.java  |  338 ++++++
 .../kerby/kerberos/kerb/crypto/Nfold.java       |  102 ++
 .../kerby/kerberos/kerb/crypto/Nonce.java       |   32 +
 .../kerby/kerberos/kerb/crypto/Pbkdf.java       |   40 +
 .../kerby/kerberos/kerb/crypto/Random.java      |   33 +
 .../apache/kerby/kerberos/kerb/crypto/Rc4.java  |   63 ++
 .../cksum/AbstractCheckSumTypeHandler.java      |  112 ++
 .../cksum/AbstractKeyedCheckSumTypeHandler.java |   75 ++
 .../crypto/cksum/CmacCamellia128CheckSum.java   |   53 +
 .../crypto/cksum/CmacCamellia256CheckSum.java   |   53 +
 .../kerb/crypto/cksum/CmacKcCheckSum.java       |   36 +
 .../crypto/cksum/ConfounderedDesCheckSum.java   |  120 ++
 .../kerb/crypto/cksum/Crc32CheckSum.java        |   35 +
 .../kerb/crypto/cksum/DesCbcCheckSum.java       |   33 +
 .../kerb/crypto/cksum/HashProvider.java         |   35 +
 .../kerb/crypto/cksum/HmacKcCheckSum.java       |   37 +
 .../kerb/crypto/cksum/HmacMd5Rc4CheckSum.java   |   73 ++
 .../crypto/cksum/HmacSha1Aes128CheckSum.java    |   53 +
 .../crypto/cksum/HmacSha1Aes256CheckSum.java    |   53 +
 .../kerb/crypto/cksum/HmacSha1Des3CheckSum.java |   53 +
 .../kerberos/kerb/crypto/cksum/KcCheckSum.java  |   48 +
 .../kerb/crypto/cksum/Md5HmacRc4CheckSum.java   |   70 ++
 .../kerb/crypto/cksum/RsaMd4CheckSum.java       |   35 +
 .../kerb/crypto/cksum/RsaMd4DesCheckSum.java    |   34 +
 .../kerb/crypto/cksum/RsaMd5CheckSum.java       |   35 +
 .../kerb/crypto/cksum/RsaMd5DesCheckSum.java    |   34 +
 .../kerb/crypto/cksum/Sha1CheckSum.java         |   35 +
 .../cksum/provider/AbstractHashProvider.java    |   52 +
 .../AbstractUnkeyedCheckSumTypeHandler.java     |   54 +
 .../crypto/cksum/provider/Crc32Provider.java    |   40 +
 .../kerb/crypto/cksum/provider/Md4Provider.java |   34 +
 .../kerb/crypto/cksum/provider/Md5Provider.java |   27 +
 .../provider/MessageDigestHashProvider.java     |   56 +
 .../crypto/cksum/provider/Sha1Provider.java     |   27 +
 .../kerb/crypto/enc/AbstractEncTypeHandler.java |  160 +++
 .../kerb/crypto/enc/Aes128CtsHmacSha1Enc.java   |   48 +
 .../kerb/crypto/enc/Aes256CtsHmacSha1Enc.java   |   48 +
 .../kerb/crypto/enc/Camellia128CtsCmacEnc.java  |   41 +
 .../kerb/crypto/enc/Camellia256CtsCmacEnc.java  |   41 +
 .../kerb/crypto/enc/Des3CbcSha1Enc.java         |   42 +
 .../kerberos/kerb/crypto/enc/DesCbcCrcEnc.java  |   55 +
 .../kerberos/kerb/crypto/enc/DesCbcEnc.java     |   88 ++
 .../kerberos/kerb/crypto/enc/DesCbcMd4Enc.java  |   39 +
 .../kerberos/kerb/crypto/enc/DesCbcMd5Enc.java  |   39 +
 .../kerb/crypto/enc/EncryptProvider.java        |   43 +
 .../kerberos/kerb/crypto/enc/KeKiCmacEnc.java   |   53 +
 .../kerby/kerberos/kerb/crypto/enc/KeKiEnc.java |  129 +++
 .../kerb/crypto/enc/KeKiHmacSha1Enc.java        |   50 +
 .../kerberos/kerb/crypto/enc/Rc4HmacEnc.java    |  149 +++
 .../kerberos/kerb/crypto/enc/Rc4HmacExpEnc.java |   33 +
 .../enc/provider/AbstractEncryptProvider.java   |   99 ++
 .../crypto/enc/provider/Aes128Provider.java     |   27 +
 .../crypto/enc/provider/Aes256Provider.java     |   27 +
 .../kerb/crypto/enc/provider/AesProvider.java   |   62 ++
 .../enc/provider/Camellia128Provider.java       |   27 +
 .../enc/provider/Camellia256Provider.java       |   27 +
 .../crypto/enc/provider/CamelliaProvider.java   |   58 +
 .../kerb/crypto/enc/provider/Des3Provider.java  |   65 ++
 .../kerb/crypto/enc/provider/DesProvider.java   |   98 ++
 .../kerb/crypto/enc/provider/Rc4Provider.java   |   49 +
 .../kerb/crypto/key/AbstractKeyMaker.java       |   93 ++
 .../kerberos/kerb/crypto/key/AesKeyMaker.java   |   65 ++
 .../kerb/crypto/key/CamelliaKeyMaker.java       |  121 ++
 .../kerberos/kerb/crypto/key/Des3KeyMaker.java  |   79 ++
 .../kerberos/kerb/crypto/key/DesKeyMaker.java   |  282 +++++
 .../kerberos/kerb/crypto/key/DkKeyMaker.java    |   73 ++
 .../kerberos/kerb/crypto/key/KeyMaker.java      |   29 +
 .../kerberos/kerb/crypto/key/Rc4KeyMaker.java   |   52 +
 .../src/main/resources/kdc-krb5.conf            |   25 +
 .../kerb-crypto/src/main/resources/kdc.ldiff    |   46 +
 .../kerberos/kerb/crypto/CamelliaEncTest.java   |  113 ++
 .../kerberos/kerb/crypto/CheckSumTest.java      |  109 ++
 .../kerberos/kerb/crypto/CheckSumsTest.java     |  233 ++++
 .../kerby/kerberos/kerb/crypto/CmacTest.java    |   85 ++
 .../kerby/kerberos/kerb/crypto/Crc32Test.java   |  119 ++
 .../kerberos/kerb/crypto/DecryptionTest.java    |  985 +++++++++++++++++
 .../kerberos/kerb/crypto/DesKeyMakerTest.java   |   64 ++
 .../kerberos/kerb/crypto/KeyDeriveTest.java     |  228 ++++
 .../kerberos/kerb/crypto/String2keyTest.java    |  583 ++++++++++
 .../src/test/resources/camellia-expect-vt.txt   | 1036 ++++++++++++++++++
 kerby-kerb/kerb-identity/pom.xml                |   46 +
 .../kerby/kerberos/kerb/identity/Attribute.java |   36 +
 .../kerb/identity/ComplexAttribute.java         |   42 +
 .../kerby/kerberos/kerb/identity/Identity.java  |   67 ++
 .../kerberos/kerb/identity/IdentityService.java |   31 +
 .../kerberos/kerb/identity/KrbAttributes.java   |   25 +
 .../kerberos/kerb/identity/KrbIdentity.java     |  126 +++
 .../kerberos/kerb/identity/SimpleAttribute.java |   37 +
 .../backend/AbstractIdentityBackend.java        |   26 +
 .../backend/InMemoryIdentityBackend.java        |   76 ++
 .../identity/backend/SimpleIdentityBackend.java |   46 +
 kerby-kerb/kerb-kdc-test/pom.xml                |   61 ++
 .../kerberos/kerb/server/TestKdcServer.java     |  122 +++
 .../kerb-kdc-test/src/main/resources/cacert.pem |   23 +
 .../kerb-kdc-test/src/main/resources/cakey.pem  |   27 +
 .../src/main/resources/extensions.kdc           |   36 +
 .../src/main/resources/kdc-krb5.conf            |   25 +
 .../kerb-kdc-test/src/main/resources/kdc.ldiff  |   46 +
 .../src/main/resources/kdccert.pem              |   26 +
 .../kerb-kdc-test/src/main/resources/kdckey.pem |   27 +
 .../src/main/resources/usercert.pem             |   26 +
 .../src/main/resources/userkey.pem              |   27 +
 .../kerby/kerberos/kerb/server/KdcTest.java     |   49 +
 .../kerby/kerberos/kerb/server/KdcTestBase.java |   71 ++
 .../kerberos/kerb/server/WithCertKdcTest.java   |   89 ++
 .../kerberos/kerb/server/WithTokenKdcTest.java  |   56 +
 kerby-kerb/kerb-server/pom.xml                  |   61 ++
 .../kerby/kerberos/kerb/server/KdcConfig.java   |  153 +++
 .../kerberos/kerb/server/KdcConfigKey.java      |   94 ++
 .../kerby/kerberos/kerb/server/KdcContext.java  |   91 ++
 .../kerby/kerberos/kerb/server/KdcHandler.java  |  148 +++
 .../kerby/kerberos/kerb/server/KdcServer.java   |  196 ++++
 .../kerberos/kerb/server/SimpleKdcServer.java   |   43 +
 .../server/preauth/AbstractPreauthPlugin.java   |   91 ++
 .../kerb/server/preauth/FastContext.java        |   36 +
 .../kerb/server/preauth/KdcPreauth.java         |   81 ++
 .../kerb/server/preauth/PreauthContext.java     |   44 +
 .../kerb/server/preauth/PreauthHandle.java      |   56 +
 .../kerb/server/preauth/PreauthHandler.java     |  124 +++
 .../server/preauth/builtin/EncTsPreauth.java    |   60 +
 .../kerb/server/preauth/builtin/TgtPreauth.java |   45 +
 .../server/preauth/pkinit/PkinitKdcContext.java |   30 +
 .../server/preauth/pkinit/PkinitPreauth.java    |   93 ++
 .../preauth/pkinit/PkinitRequestContext.java    |   30 +
 .../preauth/token/TokenRequestContext.java      |   32 +
 .../kerb/server/replay/CacheService.java        |   26 +
 .../kerb/server/replay/ReplayCheckService.java  |   25 +
 .../server/replay/ReplayCheckServiceImpl.java   |   40 +
 .../kerb/server/replay/RequestRecord.java       |   58 +
 .../kerb/server/replay/SimpleCacheService.java  |   46 +
 .../kerberos/kerb/server/request/AsRequest.java |   91 ++
 .../kerb/server/request/KdcRequest.java         |  521 +++++++++
 .../kerb/server/request/TgsRequest.java         |  196 ++++
 .../kerb-server/src/main/resources/kdc.conf     |   51 +
 .../kerby/kerberos/kerb/server/KdcTest.java     |   70 ++
 .../kerberos/kerb/server/TestKdcConfigLoad.java |   57 +
 kerby-kerb/kerb-util/pom.xml                    |   46 +
 .../kerby/kerberos/kerb/KrbInputStream.java     |   74 ++
 .../kerby/kerberos/kerb/KrbOutputStream.java    |   66 ++
 .../kerb/ccache/CredCacheInputStream.java       |  167 +++
 .../kerb/ccache/CredCacheOutputStream.java      |  123 +++
 .../kerby/kerberos/kerb/ccache/Credential.java  |  225 ++++
 .../kerberos/kerb/ccache/CredentialCache.java   |  278 +++++
 .../kerb/ccache/KrbCredentialCache.java         |   57 +
 .../apache/kerby/kerberos/kerb/ccache/Tag.java  |   34 +
 .../kerby/kerberos/kerb/ccache/ccache.txt       |   98 ++
 .../kerby/kerberos/kerb/keytab/Keytab.java      |  197 ++++
 .../kerby/kerberos/kerb/keytab/KeytabEntry.java |  121 ++
 .../kerberos/kerb/keytab/KeytabInputStream.java |   89 ++
 .../kerb/keytab/KeytabOutputStream.java         |   63 ++
 .../kerby/kerberos/kerb/keytab/KrbKeytab.java   |   55 +
 .../kerby/kerberos/kerb/keytab/keytab.txt       |  106 ++
 .../kerby/kerberos/kerb/util/CcacheTest.java    |   57 +
 .../kerberos/kerb/util/EncryptionTest.java      |  148 +++
 .../kerby/kerberos/kerb/util/KeysTest.java      |   81 ++
 .../kerby/kerberos/kerb/util/KeytabTest.java    |   76 ++
 .../test/resources/aes128-cts-hmac-sha1-96.cc   |  Bin 0 -> 691 bytes
 .../test/resources/aes256-cts-hmac-sha1-96.cc   |  Bin 0 -> 725 bytes
 .../src/test/resources/arcfour-hmac.cc          |  Bin 0 -> 692 bytes
 .../src/test/resources/camellia-expect-vt.txt   | 1036 ++++++++++++++++++
 .../src/test/resources/camellia128-cts-cmac.cc  |  Bin 0 -> 700 bytes
 .../src/test/resources/camellia256-cts-cmac.cc  |  Bin 0 -> 734 bytes
 .../kerb-util/src/test/resources/des-cbc-crc.cc |  Bin 0 -> 676 bytes
 .../src/test/resources/des3-cbc-sha1.cc         |  Bin 0 -> 724 bytes
 .../kerb-util/src/test/resources/krbtgt.keytab  |  Bin 0 -> 594 bytes
 kerby-kerb/kerb-util/src/test/resources/test.cc |  Bin 0 -> 890 bytes
 .../kerb-util/src/test/resources/test.keytab    |  Bin 0 -> 466 bytes
 kerby-kerb/pom.xml                              |   48 +
 lib/kerby-config/README                         |    1 +
 lib/kerby-config/pom.xml                        |   37 +
 .../main/java/org/apache/kerby/config/Conf.java |  285 +++++
 .../java/org/apache/kerby/config/Config.java    |   58 +
 .../org/apache/kerby/config/ConfigImpl.java     |  346 ++++++
 .../java/org/apache/kerby/config/ConfigKey.java |   25 +
 .../org/apache/kerby/config/ConfigLoader.java   |   50 +
 .../org/apache/kerby/config/ConfigObject.java   |   80 ++
 .../apache/kerby/config/IniConfigLoader.java    |   69 ++
 .../apache/kerby/config/JsonConfigLoader.java   |   27 +
 .../apache/kerby/config/MapConfigLoader.java    |   34 +
 .../kerby/config/PropertiesConfigLoader.java    |   43 +
 .../config/PropertiesFileConfigLoader.java      |   33 +
 .../java/org/apache/kerby/config/Resource.java  |  119 ++
 .../apache/kerby/config/XmlConfigLoader.java    |  159 +++
 .../java/org/apache/kerby/config/ConfTest.java  |  133 +++
 .../org/apache/kerby/config/ConfigImplTest.java |   62 ++
 .../org/apache/kerby/config/IniConfigTest.java  |   76 ++
 lib/kerby-event/README                          |    1 +
 lib/kerby-event/pom.xml                         |   28 +
 .../kerby/event/AbstractEventHandler.java       |   55 +
 .../event/AbstractInternalEventHandler.java     |   66 ++
 .../kerby/event/BufferedEventHandler.java       |   53 +
 .../java/org/apache/kerby/event/Dispatcher.java |   29 +
 .../main/java/org/apache/kerby/event/Event.java |   43 +
 .../org/apache/kerby/event/EventHandler.java    |   31 +
 .../java/org/apache/kerby/event/EventHub.java   |  192 ++++
 .../java/org/apache/kerby/event/EventType.java  |   24 +
 .../org/apache/kerby/event/EventWaiter.java     |   35 +
 .../kerby/event/ExecutedEventHandler.java       |   76 ++
 .../kerby/event/InternalEventHandler.java       |   34 +
 .../kerby/event/LongRunningEventHandler.java    |   77 ++
 .../apache/kerby/event/WaitEventHandler.java    |  128 +++
 .../org/apache/kerby/transport/Acceptor.java    |   36 +
 .../org/apache/kerby/transport/Connector.java   |   36 +
 .../apache/kerby/transport/MessageHandler.java  |   42 +
 .../org/apache/kerby/transport/Network.java     |  297 +++++
 .../org/apache/kerby/transport/Transport.java   |   84 ++
 .../kerby/transport/TransportHandler.java       |   34 +
 .../kerby/transport/TransportSelector.java      |  100 ++
 .../kerby/transport/buffer/BufferPool.java      |   33 +
 .../kerby/transport/buffer/BufferUtil.java      |   42 +
 .../kerby/transport/buffer/RecvBuffer.java      |  155 +++
 .../kerby/transport/buffer/TransBuffer.java     |   49 +
 .../kerby/transport/event/AddressEvent.java     |   39 +
 .../kerby/transport/event/MessageEvent.java     |   41 +
 .../kerby/transport/event/TransportEvent.java   |   56 +
 .../transport/event/TransportEventType.java     |   29 +
 .../kerby/transport/tcp/DecodingCallback.java   |   38 +
 .../kerby/transport/tcp/StreamingDecoder.java   |   26 +
 .../apache/kerby/transport/tcp/TcpAcceptor.java |  112 ++
 .../kerby/transport/tcp/TcpAddressEvent.java    |   36 +
 .../kerby/transport/tcp/TcpConnector.java       |   94 ++
 .../kerby/transport/tcp/TcpEventType.java       |   27 +
 .../kerby/transport/tcp/TcpTransport.java       |  110 ++
 .../transport/tcp/TcpTransportHandler.java      |   77 ++
 .../apache/kerby/transport/udp/UdpAcceptor.java |   84 ++
 .../kerby/transport/udp/UdpAddressEvent.java    |   36 +
 .../kerby/transport/udp/UdpChannelEvent.java    |   47 +
 .../kerby/transport/udp/UdpConnector.java       |   76 ++
 .../kerby/transport/udp/UdpEventType.java       |   29 +
 .../kerby/transport/udp/UdpTransport.java       |   65 ++
 .../transport/udp/UdpTransportHandler.java      |  109 ++
 .../java/org/apache/kerby/event/TestBuffer.java |   50 +
 .../kerby/event/network/TestNetworkBase.java    |   58 +
 .../kerby/event/network/TestNetworkClient.java  |  212 ++++
 .../kerby/event/network/TestNetworkServer.java  |  110 ++
 .../org/apache/kerby/event/tcp/TestTcpBase.java |   57 +
 .../apache/kerby/event/tcp/TestTcpClient.java   |  160 +++
 .../apache/kerby/event/tcp/TestTcpServer.java   |   90 ++
 .../org/apache/kerby/event/udp/TestUdpBase.java |   41 +
 .../apache/kerby/event/udp/TestUdpClient.java   |  149 +++
 .../apache/kerby/event/udp/TestUdpServer.java   |   89 ++
 lib/kerby-pkix/pom.xml                          |   39 +
 .../main/java/org/apache/kerby/pki/Pkix.java    |   87 ++
 lib/kerby-pkix/src/main/resources/cacert.pem    |   23 +
 lib/kerby-pkix/src/main/resources/cakey.pem     |   27 +
 .../src/main/resources/extensions.kdc           |   36 +
 lib/kerby-pkix/src/main/resources/kdccert.pem   |   26 +
 lib/kerby-pkix/src/main/resources/kdckey.pem    |   27 +
 lib/kerby-pkix/src/main/resources/usercert.pem  |   26 +
 lib/kerby-pkix/src/main/resources/userkey.pem   |   27 +
 .../java/org/apache/kerby/pki/PkixTest.java     |   60 +
 lib/kerby-token/pom.xml                         |   44 +
 .../org/apache/kerby/token/AuthzDataEntry.java  |   52 +
 .../java/org/apache/kerby/token/KerbToken.java  |   47 +
 .../java/org/apache/kerby/token/TokenCache.java |   82 ++
 .../org/apache/kerby/token/TokenExtractor.java  |  101 ++
 .../java/org/apache/kerby/token/TokenTool.java  |  124 +++
 lib/kerby-util/pom.xml                          |   29 +
 .../java/org/apache/kerby/util/HexUtil.java     |   58 +
 lib/pom.xml                                     |   45 +
 pom.xml                                         |   26 +-
 tool/pom.xml                                    |   45 +
 .../java/org/apache/kerberos/tool/Kinit.java    |   42 +
 1154 files changed, 44969 insertions(+), 44989 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/ceacb982/3rdparty/not-yet-commons-ssl/pom.xml
----------------------------------------------------------------------
diff --git a/3rdparty/not-yet-commons-ssl/pom.xml b/3rdparty/not-yet-commons-ssl/pom.xml
index b975ebf..92dcd42 100644
--- a/3rdparty/not-yet-commons-ssl/pom.xml
+++ b/3rdparty/not-yet-commons-ssl/pom.xml
@@ -16,7 +16,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
-    <groupId>org.haox</groupId>
+    <groupId>org.apache.kerby</groupId>
     <artifactId>3rdparty</artifactId>
     <version>1.0-SNAPSHOT</version>
   </parent>

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/ceacb982/3rdparty/pom.xml
----------------------------------------------------------------------
diff --git a/3rdparty/pom.xml b/3rdparty/pom.xml
index 5323f4d..9474003 100644
--- a/3rdparty/pom.xml
+++ b/3rdparty/pom.xml
@@ -16,8 +16,8 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>org.haox</groupId>
-    <artifactId>haox-all</artifactId>
+    <groupId>org.apache.kerby</groupId>
+    <artifactId>kerby-all</artifactId>
     <version>1.0-SNAPSHOT</version>
   </parent>
 

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/ceacb982/benchmark/pom.xml
----------------------------------------------------------------------
diff --git a/benchmark/pom.xml b/benchmark/pom.xml
index 902d77c..aa81e51 100644
--- a/benchmark/pom.xml
+++ b/benchmark/pom.xml
@@ -13,115 +13,111 @@
   limitations under the License. See accompanying LICENSE file.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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>
-        <artifactId>haox-all</artifactId>
-        <groupId>org.haox</groupId>
-        <version>1.0-SNAPSHOT</version>
-    </parent>
+  <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>benchmark</artifactId>
+  <parent>
+    <groupId>org.apache.kerby</groupId>
+    <artifactId>kerby-all</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
 
-    <name>Haox benchmark</name>
-    <description>Haox benchmark tests</description>
+  <artifactId>benchmark</artifactId>
 
-    <dependencies>
-        <dependency>
-            <groupId>org.haox</groupId>
-            <artifactId>haox-asn1</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.haox</groupId>
-            <artifactId>kerb-core</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.haox</groupId>
-            <artifactId>kerb-util</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.directory.server</groupId>
-            <artifactId>apacheds-core-api</artifactId>
-            <version>2.0.0-M15</version>
-            <scope>compile</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.directory.api</groupId>
-                    <artifactId>api-ldap-schema-data</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.directory.server</groupId>
-            <artifactId>apacheds-interceptor-kerberos</artifactId>
-            <version>2.0.0-M15</version>
-            <scope>compile</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.directory.api</groupId>
-                    <artifactId>api-ldap-schema-data</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.directory.server</groupId>
-            <artifactId>apacheds-protocol-shared</artifactId>
-            <version>2.0.0-M15</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.directory.server</groupId>
-            <artifactId>apacheds-protocol-kerberos</artifactId>
-            <version>2.0.0-M15</version>
-            <scope>compile</scope>
-            <exclusions>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.directory.server</groupId>
-            <artifactId>apacheds-ldif-partition</artifactId>
-            <version>2.0.0-M15</version>
-            <scope>compile</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.directory.api</groupId>
-                    <artifactId>api-ldap-schema-data</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.directory.server</groupId>
-            <artifactId>apacheds-mavibot-partition</artifactId>
-            <version>2.0.0-M15</version>
-            <scope>compile</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.directory.api</groupId>
-                    <artifactId>api-ldap-schema-data</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.directory.api</groupId>
-            <artifactId>api-all</artifactId>
-            <version>1.0.0-M20</version>
-            <scope>compile</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>xml-apis</groupId>
-                    <artifactId>xml-apis</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>xpp3</groupId>
-                    <artifactId>xpp3</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>dom4j</groupId>
-                    <artifactId>dom4j</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-    </dependencies>
+  <name>Kerby benchmark</name>
+  <description>Kerby benchmark tests</description>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.kerby</groupId>
+      <artifactId>kerby-asn1</artifactId>
+      <version>1.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.kerby</groupId>
+      <artifactId>kerb-core</artifactId>
+      <version>1.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.directory.server</groupId>
+      <artifactId>apacheds-core-api</artifactId>
+      <version>2.0.0-M15</version>
+      <scope>compile</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.directory.api</groupId>
+          <artifactId>api-ldap-schema-data</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.directory.server</groupId>
+      <artifactId>apacheds-interceptor-kerberos</artifactId>
+      <version>2.0.0-M15</version>
+      <scope>compile</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.directory.api</groupId>
+          <artifactId>api-ldap-schema-data</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.directory.server</groupId>
+      <artifactId>apacheds-protocol-shared</artifactId>
+      <version>2.0.0-M15</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.directory.server</groupId>
+      <artifactId>apacheds-protocol-kerberos</artifactId>
+      <version>2.0.0-M15</version>
+      <scope>compile</scope>
+      <exclusions>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.directory.server</groupId>
+      <artifactId>apacheds-ldif-partition</artifactId>
+      <version>2.0.0-M15</version>
+      <scope>compile</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.directory.api</groupId>
+          <artifactId>api-ldap-schema-data</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.directory.server</groupId>
+      <artifactId>apacheds-mavibot-partition</artifactId>
+      <version>2.0.0-M15</version>
+      <scope>compile</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.directory.api</groupId>
+          <artifactId>api-ldap-schema-data</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.directory.api</groupId>
+      <artifactId>api-all</artifactId>
+      <version>1.0.0-M20</version>
+      <scope>compile</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>xml-apis</groupId>
+          <artifactId>xml-apis</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>xpp3</groupId>
+          <artifactId>xpp3</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>dom4j</groupId>
+          <artifactId>dom4j</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/ceacb982/benchmark/src/test/java/org/apache/kerberos/benchmark/KrbCodecPerfTest.java
----------------------------------------------------------------------
diff --git a/benchmark/src/test/java/org/apache/kerberos/benchmark/KrbCodecPerfTest.java b/benchmark/src/test/java/org/apache/kerberos/benchmark/KrbCodecPerfTest.java
deleted file mode 100644
index b1864d4..0000000
--- a/benchmark/src/test/java/org/apache/kerberos/benchmark/KrbCodecPerfTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- *  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.kerberos.benchmark;
-
-import org.apache.directory.api.asn1.DecoderException;
-import org.apache.directory.api.asn1.EncoderException;
-import org.apache.directory.api.asn1.ber.Asn1Decoder;
-import org.apache.directory.shared.kerberos.codec.apReq.ApReqContainer;
-import org.apache.kerberos.kerb.KrbException;
-import org.apache.kerberos.kerb.spec.ap.ApReq;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.ByteBuffer;
-
-public class KrbCodecPerfTest {
-
-    public static void main(String[] args) throws KrbException, IOException, DecoderException, EncoderException {
-        InputStream is = KrbCodecPerfTest.class.getResourceAsStream("/apreq.token");
-        byte[] bytes = new byte[is.available()];
-        is.read(bytes);
-
-        int times = 1000000;
-        perfApacheDS(ByteBuffer.wrap(bytes), times);
-        perfHaox(ByteBuffer.wrap(bytes), times);
-    }
-
-    private static void perfHaox(ByteBuffer apreqToken, int times) throws KrbException, IOException {
-        long start = System.currentTimeMillis();
-
-        for (int i = 0; i < times; ++i) {
-            //ApReq apReq = KrbCodec.decode(apreqToken, ApReq.class);
-            ApReq apReq = new ApReq(); apReq.decode(apreqToken);
-            if (apReq == null) {
-                throw new RuntimeException("Decoding failed");
-            }
-            String serverName = apReq.getTicket().getSname().toString();
-
-            apreqToken.rewind();
-        }
-
-        long end = System.currentTimeMillis();
-        System.out.println("HaoxCodec takes:" + (end - start));
-    }
-
-    private static void perfApacheDS(ByteBuffer apreqToken, int times) throws EncoderException, DecoderException {
-        long start = System.currentTimeMillis();
-
-        for (int i = 0; i < times; ++i) {
-            Asn1Decoder krbDecoder = new Asn1Decoder();
-            ApReqContainer apreqContainer = new ApReqContainer(apreqToken);
-            krbDecoder.decode(apreqToken, apreqContainer);
-            String serverName = apreqContainer.getApReq().getTicket().getSName().toString();
-
-            apreqToken.rewind();
-        }
-
-        long end = System.currentTimeMillis();
-        System.out.println("ApacheDS takes:" + (end - start));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/ceacb982/benchmark/src/test/java/org/apache/kerby/kerberos/benchmark/KrbCodecPerfTest.java
----------------------------------------------------------------------
diff --git a/benchmark/src/test/java/org/apache/kerby/kerberos/benchmark/KrbCodecPerfTest.java b/benchmark/src/test/java/org/apache/kerby/kerberos/benchmark/KrbCodecPerfTest.java
new file mode 100644
index 0000000..cf151dc
--- /dev/null
+++ b/benchmark/src/test/java/org/apache/kerby/kerberos/benchmark/KrbCodecPerfTest.java
@@ -0,0 +1,79 @@
+/**
+ *  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.benchmark;
+
+import org.apache.directory.api.asn1.DecoderException;
+import org.apache.directory.api.asn1.EncoderException;
+import org.apache.directory.api.asn1.ber.Asn1Decoder;
+import org.apache.directory.shared.kerberos.codec.apReq.ApReqContainer;
+import org.apache.kerby.kerberos.kerb.KrbException;
+import org.apache.kerby.kerberos.kerb.spec.ap.ApReq;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.ByteBuffer;
+
+public class KrbCodecPerfTest {
+
+    public static void main(String[] args) throws KrbException, IOException, DecoderException, EncoderException {
+        InputStream is = KrbCodecPerfTest.class.getResourceAsStream("/apreq.token");
+        byte[] bytes = new byte[is.available()];
+        is.read(bytes);
+
+        int times = 1000000;
+        perfApacheDS(ByteBuffer.wrap(bytes), times);
+        perfHaox(ByteBuffer.wrap(bytes), times);
+    }
+
+    private static void perfHaox(ByteBuffer apreqToken, int times) throws KrbException, IOException {
+        long start = System.currentTimeMillis();
+
+        for (int i = 0; i < times; ++i) {
+            //ApReq apReq = KrbCodec.decode(apreqToken, ApReq.class);
+            ApReq apReq = new ApReq(); apReq.decode(apreqToken);
+            if (apReq == null) {
+                throw new RuntimeException("Decoding failed");
+            }
+            String serverName = apReq.getTicket().getSname().toString();
+
+            apreqToken.rewind();
+        }
+
+        long end = System.currentTimeMillis();
+        System.out.println("HaoxCodec takes:" + (end - start));
+    }
+
+    private static void perfApacheDS(ByteBuffer apreqToken, int times) throws EncoderException, DecoderException {
+        long start = System.currentTimeMillis();
+
+        for (int i = 0; i < times; ++i) {
+            Asn1Decoder krbDecoder = new Asn1Decoder();
+            ApReqContainer apreqContainer = new ApReqContainer(apreqToken);
+            krbDecoder.decode(apreqToken, apreqContainer);
+            String serverName = apreqContainer.getApReq().getTicket().getSName().toString();
+
+            apreqToken.rewind();
+        }
+
+        long end = System.currentTimeMillis();
+        System.out.println("ApacheDS takes:" + (end - start));
+    }
+
+}