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>