diff --git a/README.md b/README.md index ef17e277..d9ceb9f8 100644 --- a/README.md +++ b/README.md @@ -34,3 +34,14 @@ mvn clean install # skip tests mvn clean install -DskipTests ``` + +## License + +Licensed under Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0) + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally +submitted for inclusion in the work by you, as defined in the Apache-2.0 +license, shall be licensed as above, without any additional terms or +conditions. diff --git a/pom.xml b/pom.xml index 4e242e1f..5dec3d76 100644 --- a/pom.xml +++ b/pom.xml @@ -1,12 +1,17 @@ + + 4.0.0 - org.biscuitsec + org.eclipse biscuit jar 4.0.1 biscuit-java - https://github.com/biscuit-auth/biscuit-java + https://github.com/eclipse-biscuit/biscuit-java Java support for the biscuit auth token and policy language diff --git a/src/main/java/org/biscuitsec/biscuit/crypto/package-info.java b/src/main/java/org/biscuitsec/biscuit/crypto/package-info.java deleted file mode 100644 index 5cfa7f29..00000000 --- a/src/main/java/org/biscuitsec/biscuit/crypto/package-info.java +++ /dev/null @@ -1,2 +0,0 @@ -/** Cryptographic operations for Biscuit tokens */ -package org.biscuitsec.biscuit.crypto; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/package-info.java b/src/main/java/org/biscuitsec/biscuit/datalog/package-info.java deleted file mode 100644 index 4acedf5e..00000000 --- a/src/main/java/org/biscuitsec/biscuit/datalog/package-info.java +++ /dev/null @@ -1,2 +0,0 @@ -/** Implementation of the Datalog engine for the check language */ -package org.biscuitsec.biscuit.datalog; diff --git a/src/main/java/org/biscuitsec/biscuit/error/package-info.java b/src/main/java/org/biscuitsec/biscuit/error/package-info.java deleted file mode 100644 index 0ffe2dbd..00000000 --- a/src/main/java/org/biscuitsec/biscuit/error/package-info.java +++ /dev/null @@ -1,2 +0,0 @@ -/** Error description classes */ -package org.biscuitsec.biscuit.error; diff --git a/src/main/java/org/biscuitsec/biscuit/token/builder/package-info.java b/src/main/java/org/biscuitsec/biscuit/token/builder/package-info.java deleted file mode 100644 index 8b4414ff..00000000 --- a/src/main/java/org/biscuitsec/biscuit/token/builder/package-info.java +++ /dev/null @@ -1,2 +0,0 @@ -/** Builder interface to create tokens and caveats */ -package org.biscuitsec.biscuit.token.builder; diff --git a/src/main/java/org/biscuitsec/biscuit/token/format/package-info.java b/src/main/java/org/biscuitsec/biscuit/token/format/package-info.java deleted file mode 100644 index ff94d20f..00000000 --- a/src/main/java/org/biscuitsec/biscuit/token/format/package-info.java +++ /dev/null @@ -1,2 +0,0 @@ -/** Serializing code */ -package org.biscuitsec.biscuit.token.format; diff --git a/src/main/java/org/biscuitsec/biscuit/token/package-info.java b/src/main/java/org/biscuitsec/biscuit/token/package-info.java deleted file mode 100644 index 5cbcbbe4..00000000 --- a/src/main/java/org/biscuitsec/biscuit/token/package-info.java +++ /dev/null @@ -1,2 +0,0 @@ -/** Classes related to creating and verifying Biscuit tokens */ -package org.biscuitsec.biscuit.token; diff --git a/src/main/java/org/biscuitsec/biscuit/crypto/BlockSignatureBuffer.java b/src/main/java/org/eclipse/biscuit/crypto/BlockSignatureBuffer.java similarity index 85% rename from src/main/java/org/biscuitsec/biscuit/crypto/BlockSignatureBuffer.java rename to src/main/java/org/eclipse/biscuit/crypto/BlockSignatureBuffer.java index beb01bb0..ef0ed869 100644 --- a/src/main/java/org/biscuitsec/biscuit/crypto/BlockSignatureBuffer.java +++ b/src/main/java/org/eclipse/biscuit/crypto/BlockSignatureBuffer.java @@ -1,9 +1,14 @@ -package org.biscuitsec.biscuit.crypto; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.crypto; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.util.Optional; -import org.biscuitsec.biscuit.token.format.ExternalSignature; +import org.eclipse.biscuit.token.format.ExternalSignature; public final class BlockSignatureBuffer { public static final int HEADER_SIZE = 4; diff --git a/src/main/java/org/biscuitsec/biscuit/crypto/Ed25519KeyPair.java b/src/main/java/org/eclipse/biscuit/crypto/Ed25519KeyPair.java similarity index 88% rename from src/main/java/org/biscuitsec/biscuit/crypto/Ed25519KeyPair.java rename to src/main/java/org/eclipse/biscuit/crypto/Ed25519KeyPair.java index d57fcdf8..d2a762b6 100644 --- a/src/main/java/org/biscuitsec/biscuit/crypto/Ed25519KeyPair.java +++ b/src/main/java/org/eclipse/biscuit/crypto/Ed25519KeyPair.java @@ -1,7 +1,12 @@ -package org.biscuitsec.biscuit.crypto; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.crypto; import java.security.SecureRandom; -import org.biscuitsec.biscuit.token.builder.Utils; +import org.eclipse.biscuit.token.builder.Utils; import org.bouncycastle.crypto.AsymmetricCipherKeyPair; import org.bouncycastle.crypto.generators.Ed25519KeyPairGenerator; import org.bouncycastle.crypto.params.Ed25519KeyGenerationParameters; diff --git a/src/main/java/org/biscuitsec/biscuit/crypto/Ed25519PublicKey.java b/src/main/java/org/eclipse/biscuit/crypto/Ed25519PublicKey.java similarity index 87% rename from src/main/java/org/biscuitsec/biscuit/crypto/Ed25519PublicKey.java rename to src/main/java/org/eclipse/biscuit/crypto/Ed25519PublicKey.java index 652fb643..39e77176 100644 --- a/src/main/java/org/biscuitsec/biscuit/crypto/Ed25519PublicKey.java +++ b/src/main/java/org/eclipse/biscuit/crypto/Ed25519PublicKey.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.crypto; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.crypto; import biscuit.format.schema.Schema.PublicKey.Algorithm; import java.util.Arrays; diff --git a/src/main/java/org/biscuitsec/biscuit/crypto/KeyDelegate.java b/src/main/java/org/eclipse/biscuit/crypto/KeyDelegate.java similarity index 65% rename from src/main/java/org/biscuitsec/biscuit/crypto/KeyDelegate.java rename to src/main/java/org/eclipse/biscuit/crypto/KeyDelegate.java index 23e39e15..08b908cb 100644 --- a/src/main/java/org/biscuitsec/biscuit/crypto/KeyDelegate.java +++ b/src/main/java/org/eclipse/biscuit/crypto/KeyDelegate.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.crypto; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.crypto; import io.vavr.control.Option; diff --git a/src/main/java/org/biscuitsec/biscuit/crypto/KeyPair.java b/src/main/java/org/eclipse/biscuit/crypto/KeyPair.java similarity index 83% rename from src/main/java/org/biscuitsec/biscuit/crypto/KeyPair.java rename to src/main/java/org/eclipse/biscuit/crypto/KeyPair.java index eba27a3b..f60b2512 100644 --- a/src/main/java/org/biscuitsec/biscuit/crypto/KeyPair.java +++ b/src/main/java/org/eclipse/biscuit/crypto/KeyPair.java @@ -1,8 +1,13 @@ -package org.biscuitsec.biscuit.crypto; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.crypto; import biscuit.format.schema.Schema.PublicKey.Algorithm; import java.security.SecureRandom; -import org.biscuitsec.biscuit.token.builder.Utils; +import org.eclipse.biscuit.token.builder.Utils; /** Private and public key. */ public abstract class KeyPair implements Signer { diff --git a/src/main/java/org/biscuitsec/biscuit/crypto/PublicKey.java b/src/main/java/org/eclipse/biscuit/crypto/PublicKey.java similarity index 90% rename from src/main/java/org/biscuitsec/biscuit/crypto/PublicKey.java rename to src/main/java/org/eclipse/biscuit/crypto/PublicKey.java index 30c0eaab..e55e25e5 100644 --- a/src/main/java/org/biscuitsec/biscuit/crypto/PublicKey.java +++ b/src/main/java/org/eclipse/biscuit/crypto/PublicKey.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.crypto; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.crypto; import biscuit.format.schema.Schema; import biscuit.format.schema.Schema.PublicKey.Algorithm; @@ -8,8 +13,8 @@ import java.security.SignatureException; import java.util.Optional; import java.util.Set; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.token.builder.Utils; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.token.builder.Utils; public abstract class PublicKey { diff --git a/src/main/java/org/biscuitsec/biscuit/crypto/SECP256R1KeyPair.java b/src/main/java/org/eclipse/biscuit/crypto/SECP256R1KeyPair.java similarity index 92% rename from src/main/java/org/biscuitsec/biscuit/crypto/SECP256R1KeyPair.java rename to src/main/java/org/eclipse/biscuit/crypto/SECP256R1KeyPair.java index c1373067..d8d7f4d4 100644 --- a/src/main/java/org/biscuitsec/biscuit/crypto/SECP256R1KeyPair.java +++ b/src/main/java/org/eclipse/biscuit/crypto/SECP256R1KeyPair.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.crypto; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.crypto; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; @@ -6,7 +11,7 @@ import java.security.Security; import java.security.Signature; import java.security.SignatureException; -import org.biscuitsec.biscuit.token.builder.Utils; +import org.eclipse.biscuit.token.builder.Utils; import org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPrivateKey; import org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPublicKey; import org.bouncycastle.jce.ECNamedCurveTable; diff --git a/src/main/java/org/biscuitsec/biscuit/crypto/SECP256R1PublicKey.java b/src/main/java/org/eclipse/biscuit/crypto/SECP256R1PublicKey.java similarity index 85% rename from src/main/java/org/biscuitsec/biscuit/crypto/SECP256R1PublicKey.java rename to src/main/java/org/eclipse/biscuit/crypto/SECP256R1PublicKey.java index 4e7d46be..370a3c93 100644 --- a/src/main/java/org/biscuitsec/biscuit/crypto/SECP256R1PublicKey.java +++ b/src/main/java/org/eclipse/biscuit/crypto/SECP256R1PublicKey.java @@ -1,7 +1,12 @@ -package org.biscuitsec.biscuit.crypto; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ -import static org.biscuitsec.biscuit.crypto.SECP256R1KeyPair.CURVE; -import static org.biscuitsec.biscuit.crypto.SECP256R1KeyPair.getSignature; +package org.eclipse.biscuit.crypto; + +import static org.eclipse.biscuit.crypto.SECP256R1KeyPair.CURVE; +import static org.eclipse.biscuit.crypto.SECP256R1KeyPair.getSignature; import biscuit.format.schema.Schema.PublicKey.Algorithm; import java.security.InvalidKeyException; diff --git a/src/main/java/org/biscuitsec/biscuit/crypto/Signer.java b/src/main/java/org/eclipse/biscuit/crypto/Signer.java similarity index 78% rename from src/main/java/org/biscuitsec/biscuit/crypto/Signer.java rename to src/main/java/org/eclipse/biscuit/crypto/Signer.java index 1db14dca..461bd8d1 100644 --- a/src/main/java/org/biscuitsec/biscuit/crypto/Signer.java +++ b/src/main/java/org/eclipse/biscuit/crypto/Signer.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.crypto; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.crypto; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; diff --git a/src/main/java/org/biscuitsec/biscuit/crypto/Token.java b/src/main/java/org/eclipse/biscuit/crypto/Token.java similarity index 92% rename from src/main/java/org/biscuitsec/biscuit/crypto/Token.java rename to src/main/java/org/eclipse/biscuit/crypto/Token.java index 093b2ef4..2ace9a61 100644 --- a/src/main/java/org/biscuitsec/biscuit/crypto/Token.java +++ b/src/main/java/org/eclipse/biscuit/crypto/Token.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.crypto; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.crypto; import static io.vavr.API.Left; import static io.vavr.API.Right; @@ -8,7 +13,7 @@ import java.security.NoSuchAlgorithmException; import java.security.SignatureException; import java.util.ArrayList; -import org.biscuitsec.biscuit.error.Error; +import org.eclipse.biscuit.error.Error; class Token { private final ArrayList blocks; diff --git a/src/main/java/org/biscuitsec/biscuit/crypto/TokenSignature.java b/src/main/java/org/eclipse/biscuit/crypto/TokenSignature.java similarity index 62% rename from src/main/java/org/biscuitsec/biscuit/crypto/TokenSignature.java rename to src/main/java/org/eclipse/biscuit/crypto/TokenSignature.java index d8cc5941..122553fa 100644 --- a/src/main/java/org/biscuitsec/biscuit/crypto/TokenSignature.java +++ b/src/main/java/org/eclipse/biscuit/crypto/TokenSignature.java @@ -1,6 +1,11 @@ -package org.biscuitsec.biscuit.crypto; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ -import org.biscuitsec.biscuit.token.builder.Utils; +package org.eclipse.biscuit.crypto; + +import org.eclipse.biscuit.token.builder.Utils; /** Signature aggregation */ public final class TokenSignature { diff --git a/src/main/java/org/eclipse/biscuit/crypto/package-info.java b/src/main/java/org/eclipse/biscuit/crypto/package-info.java new file mode 100644 index 00000000..4d4fec44 --- /dev/null +++ b/src/main/java/org/eclipse/biscuit/crypto/package-info.java @@ -0,0 +1,7 @@ +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +/** Cryptographic operations for Biscuit tokens */ +package org.eclipse.biscuit.crypto; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/Check.java b/src/main/java/org/eclipse/biscuit/datalog/Check.java similarity index 90% rename from src/main/java/org/biscuitsec/biscuit/datalog/Check.java rename to src/main/java/org/eclipse/biscuit/datalog/Check.java index 8ab138bd..33b6ef75 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/Check.java +++ b/src/main/java/org/eclipse/biscuit/datalog/Check.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import static biscuit.format.schema.Schema.CheckV2.Kind.All; import static io.vavr.API.Left; @@ -9,7 +14,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; -import org.biscuitsec.biscuit.error.Error; +import org.eclipse.biscuit.error.Error; public final class Check { public enum Kind { diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/Combinator.java b/src/main/java/org/eclipse/biscuit/datalog/Combinator.java similarity index 96% rename from src/main/java/org/biscuitsec/biscuit/datalog/Combinator.java rename to src/main/java/org/eclipse/biscuit/datalog/Combinator.java index 3fd25191..29b56f91 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/Combinator.java +++ b/src/main/java/org/eclipse/biscuit/datalog/Combinator.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import io.vavr.Tuple2; import io.vavr.control.Option; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/Fact.java b/src/main/java/org/eclipse/biscuit/datalog/Fact.java similarity index 86% rename from src/main/java/org/biscuitsec/biscuit/datalog/Fact.java rename to src/main/java/org/eclipse/biscuit/datalog/Fact.java index bb6c105d..a2844c7c 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/Fact.java +++ b/src/main/java/org/eclipse/biscuit/datalog/Fact.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import static io.vavr.API.Left; import static io.vavr.API.Right; @@ -8,7 +13,7 @@ import java.io.Serializable; import java.util.List; import java.util.Objects; -import org.biscuitsec.biscuit.error.Error; +import org.eclipse.biscuit.error.Error; public final class Fact implements Serializable { private final Predicate predicate; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/FactSet.java b/src/main/java/org/eclipse/biscuit/datalog/FactSet.java similarity index 92% rename from src/main/java/org/biscuitsec/biscuit/datalog/FactSet.java rename to src/main/java/org/eclipse/biscuit/datalog/FactSet.java index bc10e045..516362c8 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/FactSet.java +++ b/src/main/java/org/eclipse/biscuit/datalog/FactSet.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import io.vavr.Tuple2; import java.util.HashMap; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/MatchedVariables.java b/src/main/java/org/eclipse/biscuit/datalog/MatchedVariables.java similarity index 89% rename from src/main/java/org/biscuitsec/biscuit/datalog/MatchedVariables.java rename to src/main/java/org/eclipse/biscuit/datalog/MatchedVariables.java index 770cb952..67236b52 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/MatchedVariables.java +++ b/src/main/java/org/eclipse/biscuit/datalog/MatchedVariables.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import io.vavr.control.Option; import java.io.Serializable; @@ -7,8 +12,8 @@ import java.util.Map; import java.util.Optional; import java.util.Set; -import org.biscuitsec.biscuit.datalog.expressions.Expression; -import org.biscuitsec.biscuit.error.Error; +import org.eclipse.biscuit.datalog.expressions.Expression; +import org.eclipse.biscuit.error.Error; public final class MatchedVariables implements Serializable { private final Map> variables; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/Origin.java b/src/main/java/org/eclipse/biscuit/datalog/Origin.java similarity index 89% rename from src/main/java/org/biscuitsec/biscuit/datalog/Origin.java rename to src/main/java/org/eclipse/biscuit/datalog/Origin.java index 31c19419..c8fd89f8 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/Origin.java +++ b/src/main/java/org/eclipse/biscuit/datalog/Origin.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import java.util.Collection; import java.util.Collections; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/Predicate.java b/src/main/java/org/eclipse/biscuit/datalog/Predicate.java similarity index 91% rename from src/main/java/org/biscuitsec/biscuit/datalog/Predicate.java rename to src/main/java/org/eclipse/biscuit/datalog/Predicate.java index 5d774d75..b29a5281 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/Predicate.java +++ b/src/main/java/org/eclipse/biscuit/datalog/Predicate.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import static io.vavr.API.Left; import static io.vavr.API.Right; @@ -11,7 +16,7 @@ import java.util.ListIterator; import java.util.Objects; import java.util.stream.Collectors; -import org.biscuitsec.biscuit.error.Error; +import org.eclipse.biscuit.error.Error; public final class Predicate implements Serializable { private final long name; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/Rule.java b/src/main/java/org/eclipse/biscuit/datalog/Rule.java similarity index 97% rename from src/main/java/org/biscuitsec/biscuit/datalog/Rule.java rename to src/main/java/org/eclipse/biscuit/datalog/Rule.java index 4d2b4536..74a82238 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/Rule.java +++ b/src/main/java/org/eclipse/biscuit/datalog/Rule.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import static io.vavr.API.Left; import static io.vavr.API.Right; @@ -21,8 +26,8 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import java.util.stream.StreamSupport; -import org.biscuitsec.biscuit.datalog.expressions.Expression; -import org.biscuitsec.biscuit.error.Error; +import org.eclipse.biscuit.datalog.expressions.Expression; +import org.eclipse.biscuit.error.Error; public final class Rule implements Serializable { private final Predicate head; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/RuleSet.java b/src/main/java/org/eclipse/biscuit/datalog/RuleSet.java similarity index 85% rename from src/main/java/org/biscuitsec/biscuit/datalog/RuleSet.java rename to src/main/java/org/eclipse/biscuit/datalog/RuleSet.java index b2430522..7106405f 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/RuleSet.java +++ b/src/main/java/org/eclipse/biscuit/datalog/RuleSet.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import io.vavr.Tuple2; import java.util.ArrayList; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/RunLimits.java b/src/main/java/org/eclipse/biscuit/datalog/RunLimits.java similarity index 74% rename from src/main/java/org/biscuitsec/biscuit/datalog/RunLimits.java rename to src/main/java/org/eclipse/biscuit/datalog/RunLimits.java index a3b16573..234fbb71 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/RunLimits.java +++ b/src/main/java/org/eclipse/biscuit/datalog/RunLimits.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import java.time.Duration; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/SchemaVersion.java b/src/main/java/org/eclipse/biscuit/datalog/SchemaVersion.java similarity index 85% rename from src/main/java/org/biscuitsec/biscuit/datalog/SchemaVersion.java rename to src/main/java/org/eclipse/biscuit/datalog/SchemaVersion.java index 757c8b8b..d605352d 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/SchemaVersion.java +++ b/src/main/java/org/eclipse/biscuit/datalog/SchemaVersion.java @@ -1,14 +1,19 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import static io.vavr.API.Left; import static io.vavr.API.Right; import io.vavr.control.Either; import java.util.List; -import org.biscuitsec.biscuit.datalog.expressions.Expression; -import org.biscuitsec.biscuit.datalog.expressions.Op; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.token.format.SerializedBiscuit; +import org.eclipse.biscuit.datalog.expressions.Expression; +import org.eclipse.biscuit.datalog.expressions.Op; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.token.format.SerializedBiscuit; public final class SchemaVersion { private boolean containsScopes; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/Scope.java b/src/main/java/org/eclipse/biscuit/datalog/Scope.java similarity index 90% rename from src/main/java/org/biscuitsec/biscuit/datalog/Scope.java rename to src/main/java/org/eclipse/biscuit/datalog/Scope.java index aee6ea13..614e6cd3 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/Scope.java +++ b/src/main/java/org/eclipse/biscuit/datalog/Scope.java @@ -1,11 +1,16 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import static io.vavr.API.Left; import static io.vavr.API.Right; import biscuit.format.schema.Schema; import io.vavr.control.Either; -import org.biscuitsec.biscuit.error.Error; +import org.eclipse.biscuit.error.Error; public final class Scope { public enum Kind { diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/SymbolTable.java b/src/main/java/org/eclipse/biscuit/datalog/SymbolTable.java similarity index 96% rename from src/main/java/org/biscuitsec/biscuit/datalog/SymbolTable.java rename to src/main/java/org/eclipse/biscuit/datalog/SymbolTable.java index 47486a7a..bf8df30c 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/SymbolTable.java +++ b/src/main/java/org/eclipse/biscuit/datalog/SymbolTable.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import io.vavr.control.Option; import java.io.Serializable; @@ -10,9 +15,9 @@ import java.util.List; import java.util.Optional; import java.util.stream.Collectors; -import org.biscuitsec.biscuit.crypto.PublicKey; -import org.biscuitsec.biscuit.datalog.expressions.Expression; -import org.biscuitsec.biscuit.token.builder.Utils; +import org.eclipse.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.datalog.expressions.Expression; +import org.eclipse.biscuit.token.builder.Utils; public final class SymbolTable implements Serializable { public static final short DEFAULT_SYMBOLS_OFFSET = 1024; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/TemporarySymbolTable.java b/src/main/java/org/eclipse/biscuit/datalog/TemporarySymbolTable.java similarity index 79% rename from src/main/java/org/biscuitsec/biscuit/datalog/TemporarySymbolTable.java rename to src/main/java/org/eclipse/biscuit/datalog/TemporarySymbolTable.java index 14f191b5..8914bf11 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/TemporarySymbolTable.java +++ b/src/main/java/org/eclipse/biscuit/datalog/TemporarySymbolTable.java @@ -1,6 +1,11 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ -import static org.biscuitsec.biscuit.datalog.SymbolTable.DEFAULT_SYMBOLS_OFFSET; +package org.eclipse.biscuit.datalog; + +import static org.eclipse.biscuit.datalog.SymbolTable.DEFAULT_SYMBOLS_OFFSET; import io.vavr.control.Option; import java.util.ArrayList; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/Term.java b/src/main/java/org/eclipse/biscuit/datalog/Term.java similarity index 88% rename from src/main/java/org/biscuitsec/biscuit/datalog/Term.java rename to src/main/java/org/eclipse/biscuit/datalog/Term.java index 375359f7..cf117652 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/Term.java +++ b/src/main/java/org/eclipse/biscuit/datalog/Term.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import static io.vavr.API.Left; import static io.vavr.API.Right; @@ -9,7 +14,7 @@ import java.io.Serializable; import java.util.Arrays; import java.util.HashSet; -import org.biscuitsec.biscuit.error.Error; +import org.eclipse.biscuit.error.Error; public abstract class Term implements Serializable { public abstract boolean match(Term other); @@ -36,7 +41,7 @@ public static Either deserializeEnumV2(Schema.TermV2 te } } - public abstract org.biscuitsec.biscuit.token.builder.Term toTerm(SymbolTable symbolTable); + public abstract org.eclipse.biscuit.token.builder.Term toTerm(SymbolTable symbolTable); public static final class Date extends Term implements Serializable { private final long value; @@ -93,8 +98,8 @@ public static Either deserializeV2(Schema.TermV2 term) } } - public org.biscuitsec.biscuit.token.builder.Term toTerm(SymbolTable symbolTable) { - return new org.biscuitsec.biscuit.token.builder.Term.Date(this.value); + public org.eclipse.biscuit.token.builder.Term toTerm(SymbolTable symbolTable) { + return new org.eclipse.biscuit.token.builder.Term.Date(this.value); } } @@ -156,8 +161,8 @@ public static Either deserializeV2(Schema.TermV2 term) } } - public org.biscuitsec.biscuit.token.builder.Term toTerm(SymbolTable symbolTable) { - return new org.biscuitsec.biscuit.token.builder.Term.Integer(this.value); + public org.eclipse.biscuit.token.builder.Term toTerm(SymbolTable symbolTable) { + return new org.eclipse.biscuit.token.builder.Term.Integer(this.value); } } @@ -219,8 +224,8 @@ public static Either deserializeV2(Schema.TermV2 term) } } - public org.biscuitsec.biscuit.token.builder.Term toTerm(SymbolTable symbolTable) { - return new org.biscuitsec.biscuit.token.builder.Term.Bytes(this.value); + public org.eclipse.biscuit.token.builder.Term toTerm(SymbolTable symbolTable) { + return new org.eclipse.biscuit.token.builder.Term.Bytes(this.value); } } @@ -277,8 +282,8 @@ public static Either deserializeV2(Schema.TermV2 term) } } - public org.biscuitsec.biscuit.token.builder.Term toTerm(SymbolTable symbolTable) { - return new org.biscuitsec.biscuit.token.builder.Term.Str( + public org.eclipse.biscuit.token.builder.Term toTerm(SymbolTable symbolTable) { + return new org.eclipse.biscuit.token.builder.Term.Str( symbolTable.formatSymbol((int) this.value)); } } @@ -335,8 +340,8 @@ public static Either deserializeV2(Schema.TermV2 term) } } - public org.biscuitsec.biscuit.token.builder.Term toTerm(SymbolTable symbolTable) { - return new org.biscuitsec.biscuit.token.builder.Term.Variable( + public org.eclipse.biscuit.token.builder.Term toTerm(SymbolTable symbolTable) { + return new org.eclipse.biscuit.token.builder.Term.Variable( symbolTable.formatSymbol((int) this.value)); } } @@ -399,8 +404,8 @@ public static Either deserializeV2(Schema.TermV2 term) } } - public org.biscuitsec.biscuit.token.builder.Term toTerm(SymbolTable symbolTable) { - return new org.biscuitsec.biscuit.token.builder.Term.Bool(this.value); + public org.eclipse.biscuit.token.builder.Term toTerm(SymbolTable symbolTable) { + return new org.eclipse.biscuit.token.builder.Term.Bool(this.value); } } @@ -491,14 +496,14 @@ public static Either deserializeV2(Schema.TermV2 term) } } - public org.biscuitsec.biscuit.token.builder.Term toTerm(SymbolTable symbolTable) { - HashSet s = new HashSet<>(); + public org.eclipse.biscuit.token.builder.Term toTerm(SymbolTable symbolTable) { + HashSet s = new HashSet<>(); for (Term i : this.value) { s.add(i.toTerm(symbolTable)); } - return new org.biscuitsec.biscuit.token.builder.Term.Set(s); + return new org.eclipse.biscuit.token.builder.Term.Set(s); } } } diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/TrustedOrigins.java b/src/main/java/org/eclipse/biscuit/datalog/TrustedOrigins.java similarity index 91% rename from src/main/java/org/biscuitsec/biscuit/datalog/TrustedOrigins.java rename to src/main/java/org/eclipse/biscuit/datalog/TrustedOrigins.java index c42ca2d9..f5a74255 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/TrustedOrigins.java +++ b/src/main/java/org/eclipse/biscuit/datalog/TrustedOrigins.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import java.util.HashMap; import java.util.List; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/World.java b/src/main/java/org/eclipse/biscuit/datalog/World.java similarity index 95% rename from src/main/java/org/biscuitsec/biscuit/datalog/World.java rename to src/main/java/org/eclipse/biscuit/datalog/World.java index a7a89108..96fba084 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/World.java +++ b/src/main/java/org/eclipse/biscuit/datalog/World.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import io.vavr.Tuple2; import io.vavr.control.Either; @@ -10,7 +15,7 @@ import java.util.Map; import java.util.function.Supplier; import java.util.stream.Stream; -import org.biscuitsec.biscuit.error.Error; +import org.eclipse.biscuit.error.Error; public final class World implements Serializable { private final FactSet facts; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/expressions/Expression.java b/src/main/java/org/eclipse/biscuit/datalog/expressions/Expression.java similarity index 85% rename from src/main/java/org/biscuitsec/biscuit/datalog/expressions/Expression.java rename to src/main/java/org/eclipse/biscuit/datalog/expressions/Expression.java index 964f4937..c27f5937 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/expressions/Expression.java +++ b/src/main/java/org/eclipse/biscuit/datalog/expressions/Expression.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog.expressions; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog.expressions; import static io.vavr.API.Left; import static io.vavr.API.Right; @@ -11,10 +16,10 @@ import java.util.Deque; import java.util.Map; import java.util.Objects; -import org.biscuitsec.biscuit.datalog.SymbolTable; -import org.biscuitsec.biscuit.datalog.TemporarySymbolTable; -import org.biscuitsec.biscuit.datalog.Term; -import org.biscuitsec.biscuit.error.Error; +import org.eclipse.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.datalog.TemporarySymbolTable; +import org.eclipse.biscuit.datalog.Term; +import org.eclipse.biscuit.error.Error; public final class Expression { private final ArrayList ops; diff --git a/src/main/java/org/biscuitsec/biscuit/datalog/expressions/Op.java b/src/main/java/org/eclipse/biscuit/datalog/expressions/Op.java similarity index 98% rename from src/main/java/org/biscuitsec/biscuit/datalog/expressions/Op.java rename to src/main/java/org/eclipse/biscuit/datalog/expressions/Op.java index a1af1e4e..bfa3b6e8 100644 --- a/src/main/java/org/biscuitsec/biscuit/datalog/expressions/Op.java +++ b/src/main/java/org/eclipse/biscuit/datalog/expressions/Op.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog.expressions; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog.expressions; import static io.vavr.API.Left; import static io.vavr.API.Right; @@ -14,10 +19,10 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; -import org.biscuitsec.biscuit.datalog.SymbolTable; -import org.biscuitsec.biscuit.datalog.TemporarySymbolTable; -import org.biscuitsec.biscuit.datalog.Term; -import org.biscuitsec.biscuit.error.Error; +import org.eclipse.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.datalog.TemporarySymbolTable; +import org.eclipse.biscuit.datalog.Term; +import org.eclipse.biscuit.error.Error; public abstract class Op { public abstract void evaluate( diff --git a/src/main/java/org/eclipse/biscuit/datalog/package-info.java b/src/main/java/org/eclipse/biscuit/datalog/package-info.java new file mode 100644 index 00000000..15944654 --- /dev/null +++ b/src/main/java/org/eclipse/biscuit/datalog/package-info.java @@ -0,0 +1,7 @@ +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +/** Implementation of the Datalog engine for the check language */ +package org.eclipse.biscuit.datalog; diff --git a/src/main/java/org/biscuitsec/biscuit/error/Error.java b/src/main/java/org/eclipse/biscuit/error/Error.java similarity index 97% rename from src/main/java/org/biscuitsec/biscuit/error/Error.java rename to src/main/java/org/eclipse/biscuit/error/Error.java index d9eb8d48..8830b9b8 100644 --- a/src/main/java/org/biscuitsec/biscuit/error/Error.java +++ b/src/main/java/org/eclipse/biscuit/error/Error.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.error; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.error; import com.google.gson.JsonElement; import com.google.gson.JsonObject; @@ -6,7 +11,7 @@ import io.vavr.control.Option; import java.util.List; import java.util.Objects; -import org.biscuitsec.biscuit.datalog.expressions.Expression; +import org.eclipse.biscuit.datalog.expressions.Expression; public class Error extends Exception { public Option> getFailedChecks() { @@ -700,9 +705,9 @@ public JsonElement toJson() { } public static final class Parser extends Error { - public final org.biscuitsec.biscuit.token.builder.parser.Error error; + public final org.eclipse.biscuit.token.builder.parser.Error error; - public Parser(org.biscuitsec.biscuit.token.builder.parser.Error error) { + public Parser(org.eclipse.biscuit.token.builder.parser.Error error) { this.error = error; } diff --git a/src/main/java/org/biscuitsec/biscuit/error/FailedCheck.java b/src/main/java/org/eclipse/biscuit/error/FailedCheck.java similarity index 96% rename from src/main/java/org/biscuitsec/biscuit/error/FailedCheck.java rename to src/main/java/org/eclipse/biscuit/error/FailedCheck.java index ec4156de..14747aa0 100644 --- a/src/main/java/org/biscuitsec/biscuit/error/FailedCheck.java +++ b/src/main/java/org/eclipse/biscuit/error/FailedCheck.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.error; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.error; import com.google.gson.Gson; import com.google.gson.JsonArray; diff --git a/src/main/java/org/biscuitsec/biscuit/error/LogicError.java b/src/main/java/org/eclipse/biscuit/error/LogicError.java similarity index 97% rename from src/main/java/org/biscuitsec/biscuit/error/LogicError.java rename to src/main/java/org/eclipse/biscuit/error/LogicError.java index 725bd39d..03e98ce4 100644 --- a/src/main/java/org/biscuitsec/biscuit/error/LogicError.java +++ b/src/main/java/org/eclipse/biscuit/error/LogicError.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.error; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.error; import com.google.gson.JsonArray; import com.google.gson.JsonElement; diff --git a/src/main/java/org/eclipse/biscuit/error/package-info.java b/src/main/java/org/eclipse/biscuit/error/package-info.java new file mode 100644 index 00000000..f18b44de --- /dev/null +++ b/src/main/java/org/eclipse/biscuit/error/package-info.java @@ -0,0 +1,7 @@ +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +/** Error description classes */ +package org.eclipse.biscuit.error; diff --git a/src/main/java/org/biscuitsec/biscuit/token/Authorizer.java b/src/main/java/org/eclipse/biscuit/token/Authorizer.java similarity index 73% rename from src/main/java/org/biscuitsec/biscuit/token/Authorizer.java rename to src/main/java/org/eclipse/biscuit/token/Authorizer.java index 8300072c..99497230 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/Authorizer.java +++ b/src/main/java/org/eclipse/biscuit/token/Authorizer.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.token; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token; import static io.vavr.API.Left; import static io.vavr.API.Right; @@ -18,28 +23,30 @@ import java.util.Map; import java.util.Set; import java.util.stream.Collectors; -import org.biscuitsec.biscuit.crypto.PublicKey; -import org.biscuitsec.biscuit.datalog.FactSet; -import org.biscuitsec.biscuit.datalog.Origin; -import org.biscuitsec.biscuit.datalog.RuleSet; -import org.biscuitsec.biscuit.datalog.RunLimits; -import org.biscuitsec.biscuit.datalog.Scope; -import org.biscuitsec.biscuit.datalog.SymbolTable; -import org.biscuitsec.biscuit.datalog.TrustedOrigins; -import org.biscuitsec.biscuit.datalog.World; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.error.FailedCheck; -import org.biscuitsec.biscuit.error.LogicError; -import org.biscuitsec.biscuit.token.builder.Check; -import org.biscuitsec.biscuit.token.builder.Expression; -import org.biscuitsec.biscuit.token.builder.Term; -import org.biscuitsec.biscuit.token.builder.Utils; -import org.biscuitsec.biscuit.token.builder.parser.Parser; +import org.eclipse.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.datalog.FactSet; +import org.eclipse.biscuit.datalog.Origin; +import org.eclipse.biscuit.datalog.RuleSet; +import org.eclipse.biscuit.datalog.RunLimits; +import org.eclipse.biscuit.datalog.Scope; +import org.eclipse.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.datalog.TrustedOrigins; +import org.eclipse.biscuit.datalog.World; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.error.FailedCheck; +import org.eclipse.biscuit.error.LogicError; +import org.eclipse.biscuit.token.builder.Check; +import org.eclipse.biscuit.token.builder.Expression; +import org.eclipse.biscuit.token.builder.Term; +import org.eclipse.biscuit.token.builder.Utils; +import org.eclipse.biscuit.token.builder.Fact; +import org.eclipse.biscuit.token.builder.Rule; +import org.eclipse.biscuit.token.builder.parser.Parser; /** Token verification class */ public final class Authorizer { private Biscuit token; - private final List checks; + private final List checks; private final List policies; private final List scopes; private final HashMap> publicKeyToBlockId; @@ -74,7 +81,7 @@ public Authorizer() { private Authorizer( Biscuit token, - List checks, + List checks, List policies, World world, SymbolTable symbolTable) { @@ -133,18 +140,18 @@ public void updateOnToken() throws Error.FailedLogic { 0, this.publicKeyToBlockId); - for (org.biscuitsec.biscuit.datalog.Fact fact : token.authority.getFacts()) { - org.biscuitsec.biscuit.datalog.Fact convertedFact = - org.biscuitsec.biscuit.token.builder.Fact.convertFrom(fact, token.symbolTable) + for (org.eclipse.biscuit.datalog.Fact fact : token.authority.getFacts()) { + org.eclipse.biscuit.datalog.Fact convertedFact = + Fact.convertFrom(fact, token.symbolTable) .convert(this.symbolTable); world.addFact(new Origin(0), convertedFact); } - for (org.biscuitsec.biscuit.datalog.Rule rule : token.authority.getRules()) { - org.biscuitsec.biscuit.token.builder.Rule locRule = - org.biscuitsec.biscuit.token.builder.Rule.convertFrom(rule, token.symbolTable); - org.biscuitsec.biscuit.datalog.Rule convertedRule = locRule.convert(this.symbolTable); + for (org.eclipse.biscuit.datalog.Rule rule : token.authority.getRules()) { + Rule locRule = + Rule.convertFrom(rule, token.symbolTable); + org.eclipse.biscuit.datalog.Rule convertedRule = locRule.convert(this.symbolTable); - Either res = locRule.validateVariables(); + Either res = locRule.validateVariables(); if (res.isLeft()) { throw new Error.FailedLogic( new LogicError.InvalidBlockRule(0, token.symbolTable.formatRule(convertedRule))); @@ -167,19 +174,19 @@ public void updateOnToken() throws Error.FailedLogic { blockSymbolTable = new SymbolTable(block.getSymbolTable(), block.getPublicKeys()); } - for (org.biscuitsec.biscuit.datalog.Fact fact : block.getFacts()) { - org.biscuitsec.biscuit.datalog.Fact convertedFact = - org.biscuitsec.biscuit.token.builder.Fact.convertFrom(fact, blockSymbolTable) + for (org.eclipse.biscuit.datalog.Fact fact : block.getFacts()) { + org.eclipse.biscuit.datalog.Fact convertedFact = + Fact.convertFrom(fact, blockSymbolTable) .convert(this.symbolTable); world.addFact(new Origin(i + 1), convertedFact); } - for (org.biscuitsec.biscuit.datalog.Rule rule : block.getRules()) { - org.biscuitsec.biscuit.token.builder.Rule syRole = - org.biscuitsec.biscuit.token.builder.Rule.convertFrom(rule, blockSymbolTable); - org.biscuitsec.biscuit.datalog.Rule convertedRule = syRole.convert(this.symbolTable); + for (org.eclipse.biscuit.datalog.Rule rule : block.getRules()) { + Rule syRole = + Rule.convertFrom(rule, blockSymbolTable); + org.eclipse.biscuit.datalog.Rule convertedRule = syRole.convert(this.symbolTable); - Either res = + Either res = syRole.validateVariables(); if (res.isLeft()) { throw new Error.FailedLogic( @@ -206,23 +213,23 @@ public Authorizer addToken(Biscuit token) throws Error.FailedLogic { public Either>, Authorizer> addDatalog(String s) { Either< - Map>, + Map>, Tuple5< - List, - List, - List, - List, + List, + List, + List, + List, List>> result = Parser.datalogComponents(s); if (result.isLeft()) { - Map> errors = + Map> errors = result.getLeft(); Map> errorMap = new HashMap<>(); - for (Map.Entry> entry : + for (Map.Entry> entry : errors.entrySet()) { List errorsList = new ArrayList<>(); - for (org.biscuitsec.biscuit.token.builder.parser.Error error : entry.getValue()) { + for (org.eclipse.biscuit.token.builder.parser.Error error : entry.getValue()) { errorsList.add(new Error.Parser(error)); } errorMap.put(entry.getKey(), errorsList); @@ -231,10 +238,10 @@ public Either>, Authorizer> addDatalog(String s) { } Tuple5< - List, - List, - List, - List, + List, + List, + List, + List, List> components = result.get(); components._1.forEach(this::addFact); @@ -246,33 +253,33 @@ public Either>, Authorizer> addDatalog(String s) { return Either.right(this); } - public Authorizer addScope(org.biscuitsec.biscuit.token.builder.Scope s) { + public Authorizer addScope(org.eclipse.biscuit.token.builder.Scope s) { this.scopes.add(s.convert(symbolTable)); return this; } - public Authorizer addFact(org.biscuitsec.biscuit.token.builder.Fact fact) { + public Authorizer addFact(Fact fact) { world.addFact(Origin.authorizer(), fact.convert(symbolTable)); return this; } public Authorizer addFact(String s) throws Error.Parser { Either< - org.biscuitsec.biscuit.token.builder.parser.Error, - Tuple2> + org.eclipse.biscuit.token.builder.parser.Error, + Tuple2> res = Parser.fact(s); if (res.isLeft()) { throw new Error.Parser(res.getLeft()); } - Tuple2 t = res.get(); + Tuple2 t = res.get(); return this.addFact(t._2); } - public Authorizer addRule(org.biscuitsec.biscuit.token.builder.Rule rule) { - org.biscuitsec.biscuit.datalog.Rule r = rule.convert(symbolTable); + public Authorizer addRule(Rule rule) { + org.eclipse.biscuit.datalog.Rule r = rule.convert(symbolTable); TrustedOrigins ruleTrustedOrigins = TrustedOrigins.fromScopes( r.scopes(), this.authorizerTrustedOrigins(), Long.MAX_VALUE, this.publicKeyToBlockId); @@ -282,15 +289,15 @@ public Authorizer addRule(org.biscuitsec.biscuit.token.builder.Rule rule) { public Authorizer addRule(String s) throws Error.Parser { Either< - org.biscuitsec.biscuit.token.builder.parser.Error, - Tuple2> + org.eclipse.biscuit.token.builder.parser.Error, + Tuple2> res = Parser.rule(s); if (res.isLeft()) { throw new Error.Parser(res.getLeft()); } - Tuple2 t = res.get(); + Tuple2 t = res.get(); return addRule(t._2); } @@ -300,22 +307,22 @@ public TrustedOrigins authorizerTrustedOrigins() { this.scopes, TrustedOrigins.defaultOrigins(), Long.MAX_VALUE, this.publicKeyToBlockId); } - public Authorizer addCheck(org.biscuitsec.biscuit.token.builder.Check check) { + public Authorizer addCheck(Check check) { this.checks.add(check); return this; } public Authorizer addCheck(String s) throws Error.Parser { Either< - org.biscuitsec.biscuit.token.builder.parser.Error, - Tuple2> + org.eclipse.biscuit.token.builder.parser.Error, + Tuple2> res = Parser.check(s); if (res.isLeft()) { throw new Error.Parser(res.getLeft()); } - Tuple2 t = res.get(); + Tuple2 t = res.get(); return addCheck(t._2); } @@ -330,7 +337,7 @@ public Authorizer setTime() throws Error.Language { public List getRevocationIds() throws Error { ArrayList ids = new ArrayList<>(); - final org.biscuitsec.biscuit.token.builder.Rule getRevocationIds = + final Rule getRevocationIds = Utils.rule( "revocation_id", List.of(Utils.var("id")), @@ -352,7 +359,7 @@ public List getRevocationIds() throws Error { } public Authorizer allow() { - ArrayList q = new ArrayList<>(); + ArrayList q = new ArrayList<>(); q.add( Utils.constrainedRule( @@ -366,7 +373,7 @@ public Authorizer allow() { } public Authorizer deny() { - ArrayList q = new ArrayList<>(); + ArrayList q = new ArrayList<>(); q.add( Utils.constrainedRule( @@ -380,7 +387,7 @@ public Authorizer deny() { } public Authorizer addPolicy(String s) throws Error.Parser { - Either> res = + Either> res = Parser.policy(s); if (res.isLeft()) { @@ -403,31 +410,31 @@ public Authorizer addScope(Scope s) { return this; } - public Set query( - org.biscuitsec.biscuit.token.builder.Rule query) throws Error { + public Set query( + Rule query) throws Error { return this.query(query, new RunLimits()); } - public Set query(String s) throws Error { + public Set query(String s) throws Error { Either< - org.biscuitsec.biscuit.token.builder.parser.Error, - Tuple2> + org.eclipse.biscuit.token.builder.parser.Error, + Tuple2> res = Parser.rule(s); if (res.isLeft()) { throw new Error.Parser(res.getLeft()); } - Tuple2 t = res.get(); + Tuple2 t = res.get(); return query(t._2); } - public Set query( - org.biscuitsec.biscuit.token.builder.Rule query, RunLimits limits) throws Error { + public Set query( + Rule query, RunLimits limits) throws Error { world.run(limits, symbolTable); - org.biscuitsec.biscuit.datalog.Rule rule = query.convert(symbolTable); + org.eclipse.biscuit.datalog.Rule rule = query.convert(symbolTable); TrustedOrigins ruleTrustedorigins = TrustedOrigins.fromScopes( rule.scopes(), @@ -436,29 +443,29 @@ public Set query( this.publicKeyToBlockId); FactSet facts = world.queryRule(rule, Long.MAX_VALUE, ruleTrustedorigins, symbolTable); - Set s = new HashSet<>(); + Set s = new HashSet<>(); - for (Iterator it = facts.stream().iterator(); - it.hasNext(); ) { - org.biscuitsec.biscuit.datalog.Fact f = it.next(); - s.add(org.biscuitsec.biscuit.token.builder.Fact.convertFrom(f, symbolTable)); + for (Iterator it = facts.stream().iterator(); + it.hasNext(); ) { + org.eclipse.biscuit.datalog.Fact f = it.next(); + s.add(Fact.convertFrom(f, symbolTable)); } return s; } - public Set query(String s, RunLimits limits) + public Set query(String s, RunLimits limits) throws Error { Either< - org.biscuitsec.biscuit.token.builder.parser.Error, - Tuple2> + org.eclipse.biscuit.token.builder.parser.Error, + Tuple2> res = Parser.rule(s); if (res.isLeft()) { throw new Error.Parser(res.getLeft()); } - Tuple2 t = res.get(); + Tuple2 t = res.get(); return query(t._2, limits); } @@ -476,12 +483,12 @@ public Long authorize(RunLimits limits) throws Error { world.run(limits, symbolTable); for (int i = 0; i < this.checks.size(); i++) { - org.biscuitsec.biscuit.datalog.Check c = this.checks.get(i).convert(symbolTable); + org.eclipse.biscuit.datalog.Check c = this.checks.get(i).convert(symbolTable); boolean successful = false; for (int j = 0; j < c.queries().size(); j++) { boolean res = false; - org.biscuitsec.biscuit.datalog.Rule query = c.queries().get(j); + org.eclipse.biscuit.datalog.Rule query = c.queries().get(j); TrustedOrigins ruleTrustedOrigins = TrustedOrigins.fromScopes( query.scopes(), authorizerTrustedOrigins, Long.MAX_VALUE, this.publicKeyToBlockId); @@ -522,14 +529,14 @@ public Long authorize(RunLimits limits) throws Error { for (int j = 0; j < token.authority.getChecks().size(); j++) { boolean successful = false; - org.biscuitsec.biscuit.token.builder.Check c = - org.biscuitsec.biscuit.token.builder.Check.convertFrom( + Check c = + Check.convertFrom( token.authority.getChecks().get(j), token.symbolTable); - org.biscuitsec.biscuit.datalog.Check check = c.convert(symbolTable); + org.eclipse.biscuit.datalog.Check check = c.convert(symbolTable); for (int k = 0; k < check.queries().size(); k++) { boolean res = false; - org.biscuitsec.biscuit.datalog.Rule query = check.queries().get(k); + org.eclipse.biscuit.datalog.Rule query = check.queries().get(k); TrustedOrigins ruleTrustedOrigins = TrustedOrigins.fromScopes( query.scopes(), authorityTrustedOrigins, 0, this.publicKeyToBlockId); @@ -566,7 +573,7 @@ public Long authorize(RunLimits limits) throws Error { Policy policy = this.policies.get(i); for (int j = 0; j < policy.queries().size(); j++) { - org.biscuitsec.biscuit.datalog.Rule query = policy.queries().get(j).convert(symbolTable); + org.eclipse.biscuit.datalog.Rule query = policy.queries().get(j).convert(symbolTable); TrustedOrigins policyTrustedOrigins = TrustedOrigins.fromScopes( query.scopes(), authorizerTrustedOrigins, Long.MAX_VALUE, this.publicKeyToBlockId); @@ -589,7 +596,7 @@ public Long authorize(RunLimits limits) throws Error { if (token != null) { for (int i = 0; i < token.blocks.size(); i++) { - org.biscuitsec.biscuit.token.Block b = token.blocks.get(i); + Block b = token.blocks.get(i); TrustedOrigins blockTrustedOrigins = TrustedOrigins.fromScopes( b.getScopes(), TrustedOrigins.defaultOrigins(), i + 1, this.publicKeyToBlockId); @@ -601,14 +608,14 @@ public Long authorize(RunLimits limits) throws Error { for (int j = 0; j < b.getChecks().size(); j++) { boolean successful = false; - org.biscuitsec.biscuit.token.builder.Check c = - org.biscuitsec.biscuit.token.builder.Check.convertFrom( + Check c = + Check.convertFrom( b.getChecks().get(j), blockSymbolTable); - org.biscuitsec.biscuit.datalog.Check check = c.convert(symbolTable); + org.eclipse.biscuit.datalog.Check check = c.convert(symbolTable); for (int k = 0; k < check.queries().size(); k++) { boolean res = false; - org.biscuitsec.biscuit.datalog.Rule query = check.queries().get(k); + org.eclipse.biscuit.datalog.Rule query = check.queries().get(k); TrustedOrigins ruleTrustedOrigins = TrustedOrigins.fromScopes( query.scopes(), blockTrustedOrigins, i + 1, this.publicKeyToBlockId); @@ -660,10 +667,10 @@ public Long authorize(RunLimits limits) throws Error { public String formatWorld() { StringBuilder facts = new StringBuilder(); - for (Map.Entry> entry : + for (Map.Entry> entry : this.world.getFacts().facts().entrySet()) { facts.append("\n\t\t" + entry.getKey() + ":"); - for (org.biscuitsec.biscuit.datalog.Fact f : entry.getValue()) { + for (org.eclipse.biscuit.datalog.Fact f : entry.getValue()) { facts.append("\n\t\t\t"); facts.append(this.symbolTable.formatFact(f)); } @@ -740,7 +747,7 @@ public List>> getChecks() { } List authorityChecks = new ArrayList<>(); - for (org.biscuitsec.biscuit.datalog.Check check : this.token.authority.getChecks()) { + for (org.eclipse.biscuit.datalog.Check check : this.token.authority.getChecks()) { authorityChecks.add(Check.convertFrom(check, this.token.symbolTable)); } if (!authorityChecks.isEmpty()) { @@ -754,11 +761,11 @@ public List>> getChecks() { if (block.getExternalKey().isDefined()) { SymbolTable blockSymbolTable = new SymbolTable(block.getSymbolTable(), block.getPublicKeys()); - for (org.biscuitsec.biscuit.datalog.Check check : block.getChecks()) { + for (org.eclipse.biscuit.datalog.Check check : block.getChecks()) { blockChecks.add(Check.convertFrom(check, blockSymbolTable)); } } else { - for (org.biscuitsec.biscuit.datalog.Check check : block.getChecks()) { + for (org.eclipse.biscuit.datalog.Check check : block.getChecks()) { blockChecks.add(Check.convertFrom(check, token.symbolTable)); } } diff --git a/src/main/java/org/biscuitsec/biscuit/token/Biscuit.java b/src/main/java/org/eclipse/biscuit/token/Biscuit.java similarity index 90% rename from src/main/java/org/biscuitsec/biscuit/token/Biscuit.java rename to src/main/java/org/eclipse/biscuit/token/Biscuit.java index dff6e9ba..ea4281ab 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/Biscuit.java +++ b/src/main/java/org/eclipse/biscuit/token/Biscuit.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.token; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token; import biscuit.format.schema.Schema.PublicKey.Algorithm; import io.vavr.Tuple2; @@ -11,12 +16,13 @@ import java.util.ArrayList; import java.util.Base64; import java.util.List; -import org.biscuitsec.biscuit.crypto.KeyDelegate; -import org.biscuitsec.biscuit.crypto.KeyPair; -import org.biscuitsec.biscuit.crypto.PublicKey; -import org.biscuitsec.biscuit.datalog.SymbolTable; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.token.format.SerializedBiscuit; +import org.eclipse.biscuit.crypto.KeyDelegate; +import org.eclipse.biscuit.crypto.KeyPair; +import org.eclipse.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.crypto.Signer; +import org.eclipse.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.token.format.SerializedBiscuit; /** Biscuit auth token */ public final class Biscuit extends UnverifiedBiscuit { @@ -28,9 +34,9 @@ public final class Biscuit extends UnverifiedBiscuit { * @param root root private key * @return */ - public static org.biscuitsec.biscuit.token.builder.Biscuit builder( - final org.biscuitsec.biscuit.crypto.Signer root) { - return new org.biscuitsec.biscuit.token.builder.Biscuit(new SecureRandom(), root); + public static org.eclipse.biscuit.token.builder.Biscuit builder( + final Signer root) { + return new org.eclipse.biscuit.token.builder.Biscuit(new SecureRandom(), root); } /** @@ -42,9 +48,9 @@ public static org.biscuitsec.biscuit.token.builder.Biscuit builder( * @param root root private key * @return */ - public static org.biscuitsec.biscuit.token.builder.Biscuit builder( + public static org.eclipse.biscuit.token.builder.Biscuit builder( final SecureRandom rng, final KeyPair root) { - return new org.biscuitsec.biscuit.token.builder.Biscuit(rng, root); + return new org.eclipse.biscuit.token.builder.Biscuit(rng, root); } /** @@ -54,11 +60,11 @@ public static org.biscuitsec.biscuit.token.builder.Biscuit builder( * @param root root private key * @return */ - public static org.biscuitsec.biscuit.token.builder.Biscuit builder( + public static org.eclipse.biscuit.token.builder.Biscuit builder( final SecureRandom rng, - final org.biscuitsec.biscuit.crypto.Signer root, + final Signer root, final Option rootKeyId) { - return new org.biscuitsec.biscuit.token.builder.Biscuit(rng, root, rootKeyId); + return new org.eclipse.biscuit.token.builder.Biscuit(rng, root, rootKeyId); } /** @@ -71,7 +77,7 @@ public static org.biscuitsec.biscuit.token.builder.Biscuit builder( */ public static Biscuit make( final SecureRandom rng, - final org.biscuitsec.biscuit.crypto.Signer root, + final Signer root, final Block authority) throws Error.FormatError { return Biscuit.make(rng, root, Option.none(), authority); @@ -87,7 +93,7 @@ public static Biscuit make( */ public static Biscuit make( final SecureRandom rng, - final org.biscuitsec.biscuit.crypto.Signer root, + final Signer root, final Integer rootKeyId, final Block authority) throws Error.FormatError { @@ -104,7 +110,7 @@ public static Biscuit make( */ private static Biscuit make( final SecureRandom rng, - final org.biscuitsec.biscuit.crypto.Signer root, + final Signer root, final Option rootKeyId, final Block authority) throws Error.FormatError { @@ -304,7 +310,7 @@ public String serializeBase64Url() throws Error.FormatError.SerializationError { * @param algorithm algorithm to use for the ephemeral key pair * @return */ - public Biscuit attenuate(org.biscuitsec.biscuit.token.builder.Block block, Algorithm algorithm) + public Biscuit attenuate(org.eclipse.biscuit.token.builder.Block block, Algorithm algorithm) throws Error { SecureRandom rng = new SecureRandom(); KeyPair keypair = KeyPair.generate(algorithm, rng); @@ -315,7 +321,7 @@ public Biscuit attenuate(org.biscuitsec.biscuit.token.builder.Block block, Algor public Biscuit attenuate( final SecureRandom rng, final KeyPair keypair, - org.biscuitsec.biscuit.token.builder.Block block) + org.eclipse.biscuit.token.builder.Block block) throws Error { SymbolTable builderSymbols = new SymbolTable(this.symbolTable); return attenuate(rng, keypair, block.build(builderSymbols)); diff --git a/src/main/java/org/biscuitsec/biscuit/token/Block.java b/src/main/java/org/eclipse/biscuit/token/Block.java similarity index 94% rename from src/main/java/org/biscuitsec/biscuit/token/Block.java rename to src/main/java/org/eclipse/biscuit/token/Block.java index ae7b8451..f5933468 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/Block.java +++ b/src/main/java/org/eclipse/biscuit/token/Block.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.token; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token; import static io.vavr.API.Left; import static io.vavr.API.Right; @@ -13,17 +18,17 @@ import java.util.Collections; import java.util.List; import java.util.Objects; -import org.biscuitsec.biscuit.crypto.PublicKey; -import org.biscuitsec.biscuit.datalog.Check; -import org.biscuitsec.biscuit.datalog.Fact; -import org.biscuitsec.biscuit.datalog.Rule; -import org.biscuitsec.biscuit.datalog.SchemaVersion; -import org.biscuitsec.biscuit.datalog.Scope; -import org.biscuitsec.biscuit.datalog.SymbolTable; -import org.biscuitsec.biscuit.datalog.expressions.Expression; -import org.biscuitsec.biscuit.datalog.expressions.Op; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.token.format.SerializedBiscuit; +import org.eclipse.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.datalog.Check; +import org.eclipse.biscuit.datalog.Fact; +import org.eclipse.biscuit.datalog.Rule; +import org.eclipse.biscuit.datalog.SchemaVersion; +import org.eclipse.biscuit.datalog.Scope; +import org.eclipse.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.datalog.expressions.Expression; +import org.eclipse.biscuit.datalog.expressions.Op; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.token.format.SerializedBiscuit; /** Represents a token's block with its checks */ public final class Block { diff --git a/src/main/java/org/biscuitsec/biscuit/token/Policy.java b/src/main/java/org/eclipse/biscuit/token/Policy.java similarity index 79% rename from src/main/java/org/biscuitsec/biscuit/token/Policy.java rename to src/main/java/org/eclipse/biscuit/token/Policy.java index 79dc3b8b..0eaff09c 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/Policy.java +++ b/src/main/java/org/eclipse/biscuit/token/Policy.java @@ -1,9 +1,14 @@ -package org.biscuitsec.biscuit.token; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; -import org.biscuitsec.biscuit.token.builder.Rule; +import org.eclipse.biscuit.token.builder.Rule; public final class Policy { public List queries() { diff --git a/src/main/java/org/biscuitsec/biscuit/token/RevocationIdentifier.java b/src/main/java/org/eclipse/biscuit/token/RevocationIdentifier.java similarity index 79% rename from src/main/java/org/biscuitsec/biscuit/token/RevocationIdentifier.java rename to src/main/java/org/eclipse/biscuit/token/RevocationIdentifier.java index 1a139fb8..3324e277 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/RevocationIdentifier.java +++ b/src/main/java/org/eclipse/biscuit/token/RevocationIdentifier.java @@ -1,7 +1,12 @@ -package org.biscuitsec.biscuit.token; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token; import java.util.Base64; -import org.biscuitsec.biscuit.token.builder.Utils; +import org.eclipse.biscuit.token.builder.Utils; public final class RevocationIdentifier { private byte[] bytes; diff --git a/src/main/java/org/biscuitsec/biscuit/token/ThirdPartyBlockContents.java b/src/main/java/org/eclipse/biscuit/token/ThirdPartyBlockContents.java similarity index 91% rename from src/main/java/org/biscuitsec/biscuit/token/ThirdPartyBlockContents.java rename to src/main/java/org/eclipse/biscuit/token/ThirdPartyBlockContents.java index 5bcfc990..af34dec6 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/ThirdPartyBlockContents.java +++ b/src/main/java/org/eclipse/biscuit/token/ThirdPartyBlockContents.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.token; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token; import biscuit.format.schema.Schema; import com.google.protobuf.ByteString; @@ -7,8 +12,8 @@ import java.io.IOException; import java.util.Arrays; import java.util.Objects; -import org.biscuitsec.biscuit.crypto.PublicKey; -import org.biscuitsec.biscuit.error.Error; +import org.eclipse.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.error.Error; public final class ThirdPartyBlockContents { private byte[] payload; diff --git a/src/main/java/org/biscuitsec/biscuit/token/ThirdPartyBlockRequest.java b/src/main/java/org/eclipse/biscuit/token/ThirdPartyBlockRequest.java similarity index 85% rename from src/main/java/org/biscuitsec/biscuit/token/ThirdPartyBlockRequest.java rename to src/main/java/org/eclipse/biscuit/token/ThirdPartyBlockRequest.java index ca30319d..7613ec68 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/ThirdPartyBlockRequest.java +++ b/src/main/java/org/eclipse/biscuit/token/ThirdPartyBlockRequest.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.token; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token; import biscuit.format.schema.Schema; import com.google.protobuf.InvalidProtocolBufferException; @@ -10,12 +15,12 @@ import java.security.NoSuchAlgorithmException; import java.security.SignatureException; import java.util.Objects; -import org.biscuitsec.biscuit.crypto.BlockSignatureBuffer; -import org.biscuitsec.biscuit.crypto.PublicKey; -import org.biscuitsec.biscuit.crypto.Signer; -import org.biscuitsec.biscuit.datalog.SymbolTable; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.token.builder.Block; +import org.eclipse.biscuit.crypto.BlockSignatureBuffer; +import org.eclipse.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.crypto.Signer; +import org.eclipse.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.token.builder.Block; public final class ThirdPartyBlockRequest { private final PublicKey previousKey; @@ -28,7 +33,7 @@ public Either createBlock( final Signer externalSigner, Block blockBuilder) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException { SymbolTable symbolTable = new SymbolTable(); - org.biscuitsec.biscuit.token.Block block = + org.eclipse.biscuit.token.Block block = blockBuilder.build(symbolTable, Option.some(externalSigner.getPublicKey())); Either res = block.toBytes(); diff --git a/src/main/java/org/biscuitsec/biscuit/token/UnverifiedBiscuit.java b/src/main/java/org/eclipse/biscuit/token/UnverifiedBiscuit.java similarity index 92% rename from src/main/java/org/biscuitsec/biscuit/token/UnverifiedBiscuit.java rename to src/main/java/org/eclipse/biscuit/token/UnverifiedBiscuit.java index b64a1512..63ab602d 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/UnverifiedBiscuit.java +++ b/src/main/java/org/eclipse/biscuit/token/UnverifiedBiscuit.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.token; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token; import biscuit.format.schema.Schema.PublicKey.Algorithm; import io.vavr.Tuple2; @@ -12,15 +17,15 @@ import java.util.Base64; import java.util.List; import java.util.stream.Collectors; -import org.biscuitsec.biscuit.crypto.BlockSignatureBuffer; -import org.biscuitsec.biscuit.crypto.KeyDelegate; -import org.biscuitsec.biscuit.crypto.KeyPair; -import org.biscuitsec.biscuit.crypto.PublicKey; -import org.biscuitsec.biscuit.datalog.Check; -import org.biscuitsec.biscuit.datalog.SymbolTable; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.token.format.ExternalSignature; -import org.biscuitsec.biscuit.token.format.SerializedBiscuit; +import org.eclipse.biscuit.crypto.BlockSignatureBuffer; +import org.eclipse.biscuit.crypto.KeyDelegate; +import org.eclipse.biscuit.crypto.KeyPair; +import org.eclipse.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.datalog.Check; +import org.eclipse.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.token.format.ExternalSignature; +import org.eclipse.biscuit.token.format.SerializedBiscuit; /** * UnverifiedBiscuit auth token. UnverifiedBiscuit means it's deserialized without checking @@ -122,8 +127,8 @@ public String serializeBase64Url() throws Error.FormatError.SerializationError { * * @return */ - public org.biscuitsec.biscuit.token.builder.Block createBlock() { - return new org.biscuitsec.biscuit.token.builder.Block(); + public org.eclipse.biscuit.token.builder.Block createBlock() { + return new org.eclipse.biscuit.token.builder.Block(); } /** @@ -134,7 +139,7 @@ public org.biscuitsec.biscuit.token.builder.Block createBlock() { * @return */ public UnverifiedBiscuit attenuate( - org.biscuitsec.biscuit.token.builder.Block block, Algorithm algorithm) throws Error { + org.eclipse.biscuit.token.builder.Block block, Algorithm algorithm) throws Error { SecureRandom rng = new SecureRandom(); KeyPair keypair = KeyPair.generate(algorithm, rng); SymbolTable builderSymbols = new SymbolTable(this.symbolTable); @@ -144,7 +149,7 @@ public UnverifiedBiscuit attenuate( public UnverifiedBiscuit attenuate( final SecureRandom rng, final KeyPair keypair, - org.biscuitsec.biscuit.token.builder.Block block) + org.eclipse.biscuit.token.builder.Block block) throws Error { SymbolTable builderSymbols = new SymbolTable(this.symbolTable); return attenuate(rng, keypair, block.build(builderSymbols)); diff --git a/src/main/java/org/biscuitsec/biscuit/token/builder/Biscuit.java b/src/main/java/org/eclipse/biscuit/token/builder/Biscuit.java similarity index 63% rename from src/main/java/org/biscuitsec/biscuit/token/builder/Biscuit.java rename to src/main/java/org/eclipse/biscuit/token/builder/Biscuit.java index 1b5f897d..3d1be343 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/builder/Biscuit.java +++ b/src/main/java/org/eclipse/biscuit/token/builder/Biscuit.java @@ -1,6 +1,11 @@ -package org.biscuitsec.biscuit.token.builder; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ -import static org.biscuitsec.biscuit.token.UnverifiedBiscuit.defaultSymbolTable; +package org.eclipse.biscuit.token.builder; + +import static org.eclipse.biscuit.token.UnverifiedBiscuit.defaultSymbolTable; import io.vavr.Tuple2; import io.vavr.control.Either; @@ -9,16 +14,17 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.biscuitsec.biscuit.crypto.PublicKey; -import org.biscuitsec.biscuit.datalog.SchemaVersion; -import org.biscuitsec.biscuit.datalog.SymbolTable; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.token.Block; -import org.biscuitsec.biscuit.token.builder.parser.Parser; +import org.eclipse.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.crypto.Signer; +import org.eclipse.biscuit.datalog.SchemaVersion; +import org.eclipse.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.token.Block; +import org.eclipse.biscuit.token.builder.parser.Parser; public final class Biscuit { private SecureRandom rng; - private org.biscuitsec.biscuit.crypto.Signer root; + private Signer root; private String context; private List facts; private List rules; @@ -26,7 +32,7 @@ public final class Biscuit { private List scopes; private Option rootKeyId; - public Biscuit(final SecureRandom rng, final org.biscuitsec.biscuit.crypto.Signer root) { + public Biscuit(final SecureRandom rng, final Signer root) { this.rng = rng; this.root = root; this.context = ""; @@ -39,7 +45,7 @@ public Biscuit(final SecureRandom rng, final org.biscuitsec.biscuit.crypto.Signe public Biscuit( final SecureRandom rng, - final org.biscuitsec.biscuit.crypto.Signer root, + final Signer root, Option rootKeyId) { this.rng = rng; this.root = root; @@ -53,9 +59,9 @@ public Biscuit( public Biscuit( final SecureRandom rng, - final org.biscuitsec.biscuit.crypto.Signer root, + final Signer root, Option rootKeyId, - org.biscuitsec.biscuit.token.builder.Block block) { + org.eclipse.biscuit.token.builder.Block block) { this.rng = rng; this.root = root; this.rootKeyId = rootKeyId; @@ -66,7 +72,7 @@ public Biscuit( this.scopes = block.scopes(); } - public Biscuit addAuthorityFact(org.biscuitsec.biscuit.token.builder.Fact f) + public Biscuit addAuthorityFact(Fact f) throws Error.Language { f.validate(); this.facts.add(f); @@ -75,55 +81,55 @@ public Biscuit addAuthorityFact(org.biscuitsec.biscuit.token.builder.Fact f) public Biscuit addAuthorityFact(String s) throws Error.Parser, Error.Language { Either< - org.biscuitsec.biscuit.token.builder.parser.Error, - Tuple2> + org.eclipse.biscuit.token.builder.parser.Error, + Tuple2> res = Parser.fact(s); if (res.isLeft()) { throw new Error.Parser(res.getLeft()); } - Tuple2 t = res.get(); + Tuple2 t = res.get(); return addAuthorityFact(t._2); } - public Biscuit addAuthorityRule(org.biscuitsec.biscuit.token.builder.Rule rule) { + public Biscuit addAuthorityRule(Rule rule) { this.rules.add(rule); return this; } public Biscuit addAuthorityRule(String s) throws Error.Parser { Either< - org.biscuitsec.biscuit.token.builder.parser.Error, - Tuple2> + org.eclipse.biscuit.token.builder.parser.Error, + Tuple2> res = Parser.rule(s); if (res.isLeft()) { throw new Error.Parser(res.getLeft()); } - Tuple2 t = res.get(); + Tuple2 t = res.get(); return addAuthorityRule(t._2); } - public Biscuit addAuthorityCheck(org.biscuitsec.biscuit.token.builder.Check c) { + public Biscuit addAuthorityCheck(Check c) { this.checks.add(c); return this; } public Biscuit addAuthorityCheck(String s) throws Error.Parser { Either< - org.biscuitsec.biscuit.token.builder.parser.Error, - Tuple2> + org.eclipse.biscuit.token.builder.parser.Error, + Tuple2> res = Parser.check(s); if (res.isLeft()) { throw new Error.Parser(res.getLeft()); } - Tuple2 t = res.get(); + Tuple2 t = res.get(); return addAuthorityCheck(t._2); } @@ -133,7 +139,7 @@ public Biscuit setContext(String context) { return this; } - public Biscuit addScope(org.biscuitsec.biscuit.token.builder.Scope scope) { + public Biscuit addScope(Scope scope) { this.scopes.add(scope); return this; } @@ -142,27 +148,27 @@ public void setRootKeyId(Integer i) { this.rootKeyId = Option.some(i); } - public org.biscuitsec.biscuit.token.Biscuit build() throws Error { + public org.eclipse.biscuit.token.Biscuit build() throws Error { return build(defaultSymbolTable()); } - private org.biscuitsec.biscuit.token.Biscuit build(SymbolTable symbolTable) throws Error { + private org.eclipse.biscuit.token.Biscuit build(SymbolTable symbolTable) throws Error { final int symbolStart = symbolTable.currentOffset(); final int publicKeyStart = symbolTable.currentPublicKeyOffset(); - List facts = new ArrayList<>(); + List facts = new ArrayList<>(); for (Fact f : this.facts) { facts.add(f.convert(symbolTable)); } - List rules = new ArrayList<>(); + List rules = new ArrayList<>(); for (Rule r : this.rules) { rules.add(r.convert(symbolTable)); } - List checks = new ArrayList<>(); + List checks = new ArrayList<>(); for (Check c : this.checks) { checks.add(c.convert(symbolTable)); } - List scopes = new ArrayList<>(); + List scopes = new ArrayList<>(); for (Scope s : this.scopes) { scopes.add(s.convert(symbolTable)); } @@ -192,10 +198,10 @@ private org.biscuitsec.biscuit.token.Biscuit build(SymbolTable symbolTable) thro schemaVersion.version()); if (this.rootKeyId.isDefined()) { - return org.biscuitsec.biscuit.token.Biscuit.make( + return org.eclipse.biscuit.token.Biscuit.make( this.rng, this.root, this.rootKeyId.get(), authorityBlock); } else { - return org.biscuitsec.biscuit.token.Biscuit.make(this.rng, this.root, authorityBlock); + return org.eclipse.biscuit.token.Biscuit.make(this.rng, this.root, authorityBlock); } } diff --git a/src/main/java/org/biscuitsec/biscuit/token/builder/Block.java b/src/main/java/org/eclipse/biscuit/token/builder/Block.java similarity index 65% rename from src/main/java/org/biscuitsec/biscuit/token/builder/Block.java rename to src/main/java/org/eclipse/biscuit/token/builder/Block.java index 1e3366ec..b9c68fc3 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/builder/Block.java +++ b/src/main/java/org/eclipse/biscuit/token/builder/Block.java @@ -1,14 +1,19 @@ -package org.biscuitsec.biscuit.token.builder; - -import static org.biscuitsec.biscuit.datalog.Check.Kind.ONE; -import static org.biscuitsec.biscuit.token.UnverifiedBiscuit.defaultSymbolTable; -import static org.biscuitsec.biscuit.token.builder.Utils.constrainedRule; -import static org.biscuitsec.biscuit.token.builder.Utils.date; -import static org.biscuitsec.biscuit.token.builder.Utils.pred; -import static org.biscuitsec.biscuit.token.builder.Utils.rule; -import static org.biscuitsec.biscuit.token.builder.Utils.str; -import static org.biscuitsec.biscuit.token.builder.Utils.string; -import static org.biscuitsec.biscuit.token.builder.Utils.var; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token.builder; + +import static org.eclipse.biscuit.datalog.Check.Kind.ONE; +import static org.eclipse.biscuit.token.UnverifiedBiscuit.defaultSymbolTable; +import static org.eclipse.biscuit.token.builder.Utils.constrainedRule; +import static org.eclipse.biscuit.token.builder.Utils.date; +import static org.eclipse.biscuit.token.builder.Utils.pred; +import static org.eclipse.biscuit.token.builder.Utils.rule; +import static org.eclipse.biscuit.token.builder.Utils.str; +import static org.eclipse.biscuit.token.builder.Utils.string; +import static org.eclipse.biscuit.token.builder.Utils.var; import io.vavr.Tuple2; import io.vavr.control.Either; @@ -19,11 +24,11 @@ import java.util.Date; import java.util.List; import java.util.Objects; -import org.biscuitsec.biscuit.crypto.PublicKey; -import org.biscuitsec.biscuit.datalog.SchemaVersion; -import org.biscuitsec.biscuit.datalog.SymbolTable; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.token.builder.parser.Parser; +import org.eclipse.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.datalog.SchemaVersion; +import org.eclipse.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.token.builder.parser.Parser; public final class Block { private String context; @@ -40,67 +45,67 @@ public Block() { this.scopes = new ArrayList<>(); } - public Block addFact(org.biscuitsec.biscuit.token.builder.Fact f) { + public Block addFact(Fact f) { this.facts.add(f); return this; } public Block addFact(String s) throws Error.Parser { Either< - org.biscuitsec.biscuit.token.builder.parser.Error, - Tuple2> + org.eclipse.biscuit.token.builder.parser.Error, + Tuple2> res = Parser.fact(s); if (res.isLeft()) { throw new Error.Parser(res.getLeft()); } - Tuple2 t = res.get(); + Tuple2 t = res.get(); return addFact(t._2); } - public Block addRule(org.biscuitsec.biscuit.token.builder.Rule rule) { + public Block addRule(Rule rule) { this.rules.add(rule); return this; } public Block addRule(String s) throws Error.Parser { Either< - org.biscuitsec.biscuit.token.builder.parser.Error, - Tuple2> + org.eclipse.biscuit.token.builder.parser.Error, + Tuple2> res = Parser.rule(s); if (res.isLeft()) { throw new Error.Parser(res.getLeft()); } - Tuple2 t = res.get(); + Tuple2 t = res.get(); return addRule(t._2); } - public Block addCheck(org.biscuitsec.biscuit.token.builder.Check check) { + public Block addCheck(Check check) { this.checks.add(check); return this; } public Block addCheck(String s) throws Error.Parser { Either< - org.biscuitsec.biscuit.token.builder.parser.Error, - Tuple2> + org.eclipse.biscuit.token.builder.parser.Error, + Tuple2> res = Parser.check(s); if (res.isLeft()) { throw new Error.Parser(res.getLeft()); } - Tuple2 t = res.get(); + Tuple2 t = res.get(); return addCheck(t._2); } - public Block addScope(org.biscuitsec.biscuit.token.builder.Scope scope) { + public Block addScope(Scope scope) { this.scopes.add(scope); return this; } @@ -110,19 +115,19 @@ public Block setContext(String context) { return this; } - public org.biscuitsec.biscuit.token.Block build() { + public org.eclipse.biscuit.token.Block build() { return build(defaultSymbolTable(), Option.none()); } - public org.biscuitsec.biscuit.token.Block build(final Option externalKey) { + public org.eclipse.biscuit.token.Block build(final Option externalKey) { return build(defaultSymbolTable(), externalKey); } - public org.biscuitsec.biscuit.token.Block build(SymbolTable symbolTable) { + public org.eclipse.biscuit.token.Block build(SymbolTable symbolTable) { return build(symbolTable, Option.none()); } - public org.biscuitsec.biscuit.token.Block build( + public org.eclipse.biscuit.token.Block build( SymbolTable symbolTable, final Option externalKey) { if (externalKey.isDefined()) { symbolTable = new SymbolTable(); @@ -130,19 +135,19 @@ public org.biscuitsec.biscuit.token.Block build( final int symbolStart = symbolTable.currentOffset(); final int publicKeyStart = symbolTable.currentPublicKeyOffset(); - List facts = new ArrayList<>(); + List facts = new ArrayList<>(); for (Fact f : this.facts) { facts.add(f.convert(symbolTable)); } - List rules = new ArrayList<>(); + List rules = new ArrayList<>(); for (Rule r : this.rules) { rules.add(r.convert(symbolTable)); } - List checks = new ArrayList<>(); + List checks = new ArrayList<>(); for (Check c : this.checks) { checks.add(c.convert(symbolTable)); } - List scopes = new ArrayList<>(); + List scopes = new ArrayList<>(); for (Scope s : this.scopes) { scopes.add(s.convert(symbolTable)); } @@ -159,7 +164,7 @@ public org.biscuitsec.biscuit.token.Block build( publicKeys.add(symbolTable.getPublicKeys().get(i)); } - return new org.biscuitsec.biscuit.token.Block( + return new org.eclipse.biscuit.token.Block( blockSymbols, this.context, facts, @@ -208,7 +213,7 @@ public int hashCode() { } public Block checkRight(String right) { - ArrayList queries = new ArrayList<>(); + ArrayList queries = new ArrayList<>(); queries.add( rule( "check_right", @@ -217,11 +222,11 @@ public Block checkRight(String right) { pred("resource", Arrays.asList(var("resource"))), pred("operation", Arrays.asList(str(right))), pred("right", Arrays.asList(var("resource"), str(right)))))); - return this.addCheck(new org.biscuitsec.biscuit.token.builder.Check(ONE, queries)); + return this.addCheck(new Check(ONE, queries)); } public Block resourcePrefix(String prefix) { - ArrayList queries = new ArrayList<>(); + ArrayList queries = new ArrayList<>(); queries.add( constrainedRule( @@ -233,11 +238,11 @@ public Block resourcePrefix(String prefix) { Expression.Op.Prefix, new Expression.Value(var("resource")), new Expression.Value(string(prefix)))))); - return this.addCheck(new org.biscuitsec.biscuit.token.builder.Check(ONE, queries)); + return this.addCheck(new Check(ONE, queries)); } public Block resourceSuffix(String suffix) { - ArrayList queries = new ArrayList<>(); + ArrayList queries = new ArrayList<>(); queries.add( constrainedRule( @@ -249,11 +254,11 @@ public Block resourceSuffix(String suffix) { Expression.Op.Suffix, new Expression.Value(var("resource")), new Expression.Value(string(suffix)))))); - return this.addCheck(new org.biscuitsec.biscuit.token.builder.Check(ONE, queries)); + return this.addCheck(new Check(ONE, queries)); } public Block setExpirationDate(Date d) { - ArrayList queries = new ArrayList<>(); + ArrayList queries = new ArrayList<>(); queries.add( constrainedRule( @@ -265,7 +270,7 @@ public Block setExpirationDate(Date d) { Expression.Op.LessOrEqual, new Expression.Value(var("date")), new Expression.Value(date(d)))))); - return this.addCheck(new org.biscuitsec.biscuit.token.builder.Check(ONE, queries)); + return this.addCheck(new Check(ONE, queries)); } public String context() { diff --git a/src/main/java/org/biscuitsec/biscuit/token/builder/Check.java b/src/main/java/org/eclipse/biscuit/token/builder/Check.java similarity index 57% rename from src/main/java/org/biscuitsec/biscuit/token/builder/Check.java rename to src/main/java/org/eclipse/biscuit/token/builder/Check.java index c6ac12b7..296c38d7 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/builder/Check.java +++ b/src/main/java/org/eclipse/biscuit/token/builder/Check.java @@ -1,22 +1,27 @@ -package org.biscuitsec.biscuit.token.builder; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ -import static org.biscuitsec.biscuit.datalog.Check.Kind.ONE; +package org.eclipse.biscuit.token.builder; + +import static org.eclipse.biscuit.datalog.Check.Kind.ONE; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; -import org.biscuitsec.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.datalog.SymbolTable; public final class Check { - private final org.biscuitsec.biscuit.datalog.Check.Kind kind; + private final org.eclipse.biscuit.datalog.Check.Kind kind; private final List queries; - public Check(org.biscuitsec.biscuit.datalog.Check.Kind kind, List queries) { + public Check(org.eclipse.biscuit.datalog.Check.Kind kind, List queries) { this.kind = kind; this.queries = queries; } - public Check(org.biscuitsec.biscuit.datalog.Check.Kind kind, Rule query) { + public Check(org.eclipse.biscuit.datalog.Check.Kind kind, Rule query) { this.kind = kind; ArrayList r = new ArrayList<>(); @@ -24,19 +29,19 @@ public Check(org.biscuitsec.biscuit.datalog.Check.Kind kind, Rule query) { queries = r; } - public org.biscuitsec.biscuit.datalog.Check convert(SymbolTable symbolTable) { - ArrayList queries = new ArrayList<>(); + public org.eclipse.biscuit.datalog.Check convert(SymbolTable symbolTable) { + ArrayList queries = new ArrayList<>(); for (Rule q : this.queries) { queries.add(q.convert(symbolTable)); } - return new org.biscuitsec.biscuit.datalog.Check(this.kind, queries); + return new org.eclipse.biscuit.datalog.Check(this.kind, queries); } - public static Check convertFrom(org.biscuitsec.biscuit.datalog.Check r, SymbolTable symbolTable) { + public static Check convertFrom(org.eclipse.biscuit.datalog.Check r, SymbolTable symbolTable) { ArrayList queries = new ArrayList<>(); - for (org.biscuitsec.biscuit.datalog.Rule q : r.queries()) { + for (org.eclipse.biscuit.datalog.Rule q : r.queries()) { queries.add(Rule.convertFrom(q, symbolTable)); } diff --git a/src/main/java/org/biscuitsec/biscuit/token/builder/Expression.java b/src/main/java/org/eclipse/biscuit/token/builder/Expression.java similarity index 66% rename from src/main/java/org/biscuitsec/biscuit/token/builder/Expression.java rename to src/main/java/org/eclipse/biscuit/token/builder/Expression.java index e1d3473a..522a025c 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/builder/Expression.java +++ b/src/main/java/org/eclipse/biscuit/token/builder/Expression.java @@ -1,34 +1,39 @@ -package org.biscuitsec.biscuit.token.builder; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token.builder; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque; import java.util.List; import java.util.Set; -import org.biscuitsec.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.datalog.SymbolTable; public abstract class Expression { - public final org.biscuitsec.biscuit.datalog.expressions.Expression convert( + public final org.eclipse.biscuit.datalog.expressions.Expression convert( SymbolTable symbolTable) { - ArrayList ops = new ArrayList<>(); + ArrayList ops = new ArrayList<>(); this.toOpcodes(symbolTable, ops); - return new org.biscuitsec.biscuit.datalog.expressions.Expression(ops); + return new org.eclipse.biscuit.datalog.expressions.Expression(ops); } public static Expression convertFrom( - org.biscuitsec.biscuit.datalog.expressions.Expression e, SymbolTable symbolTable) { + org.eclipse.biscuit.datalog.expressions.Expression e, SymbolTable symbolTable) { ArrayList ops = new ArrayList<>(); Deque stack = new ArrayDeque(16); - for (org.biscuitsec.biscuit.datalog.expressions.Op op : e.getOps()) { - if (op instanceof org.biscuitsec.biscuit.datalog.expressions.Op.Value) { - org.biscuitsec.biscuit.datalog.expressions.Op.Value v = - (org.biscuitsec.biscuit.datalog.expressions.Op.Value) op; + for (org.eclipse.biscuit.datalog.expressions.Op op : e.getOps()) { + if (op instanceof org.eclipse.biscuit.datalog.expressions.Op.Value) { + org.eclipse.biscuit.datalog.expressions.Op.Value v = + (org.eclipse.biscuit.datalog.expressions.Op.Value) op; stack.push(new Expression.Value(Term.convertFrom(v.getValue(), symbolTable))); - } else if (op instanceof org.biscuitsec.biscuit.datalog.expressions.Op.Unary) { - org.biscuitsec.biscuit.datalog.expressions.Op.Unary v = - (org.biscuitsec.biscuit.datalog.expressions.Op.Unary) op; + } else if (op instanceof org.eclipse.biscuit.datalog.expressions.Op.Unary) { + org.eclipse.biscuit.datalog.expressions.Op.Unary v = + (org.eclipse.biscuit.datalog.expressions.Op.Unary) op; Expression e1 = stack.pop(); switch (v.getOp()) { @@ -44,9 +49,9 @@ public static Expression convertFrom( default: return null; } - } else if (op instanceof org.biscuitsec.biscuit.datalog.expressions.Op.Binary) { - org.biscuitsec.biscuit.datalog.expressions.Op.Binary v = - (org.biscuitsec.biscuit.datalog.expressions.Op.Binary) op; + } else if (op instanceof org.eclipse.biscuit.datalog.expressions.Op.Binary) { + org.eclipse.biscuit.datalog.expressions.Op.Binary v = + (org.eclipse.biscuit.datalog.expressions.Op.Binary) op; Expression e2 = stack.pop(); Expression e1 = stack.pop(); @@ -124,7 +129,7 @@ public static Expression convertFrom( } public abstract void toOpcodes( - SymbolTable symbolTable, List ops); + SymbolTable symbolTable, List ops); public abstract void gatherVariables(Set variables); @@ -163,9 +168,9 @@ public Value(Term value) { } public void toOpcodes( - SymbolTable symbolTable, List ops) { + SymbolTable symbolTable, List ops) { ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Value(this.value.convert(symbolTable))); + new org.eclipse.biscuit.datalog.expressions.Op.Value(this.value.convert(symbolTable))); } public void gatherVariables(Set variables) { @@ -209,24 +214,24 @@ public Unary(Op op, Expression arg1) { } public void toOpcodes( - SymbolTable symbolTable, List ops) { + SymbolTable symbolTable, List ops) { this.arg1.toOpcodes(symbolTable, ops); switch (this.op) { case Negate: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Unary( - org.biscuitsec.biscuit.datalog.expressions.Op.UnaryOp.Negate)); + new org.eclipse.biscuit.datalog.expressions.Op.Unary( + org.eclipse.biscuit.datalog.expressions.Op.UnaryOp.Negate)); break; case Parens: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Unary( - org.biscuitsec.biscuit.datalog.expressions.Op.UnaryOp.Parens)); + new org.eclipse.biscuit.datalog.expressions.Op.Unary( + org.eclipse.biscuit.datalog.expressions.Op.UnaryOp.Parens)); break; case Length: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Unary( - org.biscuitsec.biscuit.datalog.expressions.Op.UnaryOp.Length)); + new org.eclipse.biscuit.datalog.expressions.Op.Unary( + org.eclipse.biscuit.datalog.expressions.Op.UnaryOp.Length)); break; default: throw new RuntimeException("unmapped ops"); @@ -288,115 +293,115 @@ public Binary(Op op, Expression arg1, Expression arg2) { } public void toOpcodes( - SymbolTable symbolTable, List ops) { + SymbolTable symbolTable, List ops) { this.arg1.toOpcodes(symbolTable, ops); this.arg2.toOpcodes(symbolTable, ops); switch (this.op) { case LessThan: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.LessThan)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.LessThan)); break; case GreaterThan: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.GreaterThan)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.GreaterThan)); break; case LessOrEqual: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.LessOrEqual)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.LessOrEqual)); break; case GreaterOrEqual: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.GreaterOrEqual)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.GreaterOrEqual)); break; case Equal: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.Equal)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.Equal)); break; case NotEqual: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.NotEqual)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.NotEqual)); break; case Contains: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.Contains)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.Contains)); break; case Prefix: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.Prefix)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.Prefix)); break; case Suffix: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.Suffix)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.Suffix)); break; case Regex: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.Regex)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.Regex)); break; case Add: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.Add)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.Add)); break; case Sub: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.Sub)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.Sub)); break; case Mul: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.Mul)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.Mul)); break; case Div: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.Div)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.Div)); break; case And: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.And)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.And)); break; case Or: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.Or)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.Or)); break; case Intersection: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.Intersection)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.Intersection)); break; case Union: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.Union)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.Union)); break; case BitwiseAnd: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.BitwiseAnd)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.BitwiseAnd)); break; case BitwiseOr: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.BitwiseOr)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.BitwiseOr)); break; case BitwiseXor: ops.add( - new org.biscuitsec.biscuit.datalog.expressions.Op.Binary( - org.biscuitsec.biscuit.datalog.expressions.Op.BinaryOp.BitwiseXor)); + new org.eclipse.biscuit.datalog.expressions.Op.Binary( + org.eclipse.biscuit.datalog.expressions.Op.BinaryOp.BitwiseXor)); break; default: throw new RuntimeException("unmapped ops"); diff --git a/src/main/java/org/biscuitsec/biscuit/token/builder/Fact.java b/src/main/java/org/eclipse/biscuit/token/builder/Fact.java similarity index 86% rename from src/main/java/org/biscuitsec/biscuit/token/builder/Fact.java rename to src/main/java/org/eclipse/biscuit/token/builder/Fact.java index e7cb42fb..05b6671e 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/builder/Fact.java +++ b/src/main/java/org/eclipse/biscuit/token/builder/Fact.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.token.builder; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token.builder; import io.vavr.control.Option; import java.util.HashMap; @@ -6,9 +11,9 @@ import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.biscuitsec.biscuit.datalog.SymbolTable; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.error.FailedCheck; +import org.eclipse.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.error.FailedCheck; public final class Fact implements Cloneable { Predicate predicate; @@ -88,13 +93,13 @@ public Fact applyVariables() { return this; } - public org.biscuitsec.biscuit.datalog.Fact convert(SymbolTable symbolTable) { + public org.eclipse.biscuit.datalog.Fact convert(SymbolTable symbolTable) { Fact f = this.clone(); f.applyVariables(); - return new org.biscuitsec.biscuit.datalog.Fact(f.predicate.convert(symbolTable)); + return new org.eclipse.biscuit.datalog.Fact(f.predicate.convert(symbolTable)); } - public static Fact convertFrom(org.biscuitsec.biscuit.datalog.Fact f, SymbolTable symbolTable) { + public static Fact convertFrom(org.eclipse.biscuit.datalog.Fact f, SymbolTable symbolTable) { return new Fact(Predicate.convertFrom(f.predicate(), symbolTable)); } diff --git a/src/main/java/org/biscuitsec/biscuit/token/builder/Predicate.java b/src/main/java/org/eclipse/biscuit/token/builder/Predicate.java similarity index 74% rename from src/main/java/org/biscuitsec/biscuit/token/builder/Predicate.java rename to src/main/java/org/eclipse/biscuit/token/builder/Predicate.java index 66164b67..91b7a964 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/builder/Predicate.java +++ b/src/main/java/org/eclipse/biscuit/token/builder/Predicate.java @@ -1,9 +1,14 @@ -package org.biscuitsec.biscuit.token.builder; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token.builder; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; -import org.biscuitsec.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.datalog.SymbolTable; public final class Predicate implements Cloneable { String name; @@ -22,22 +27,22 @@ public List getTerms() { return terms; } - public org.biscuitsec.biscuit.datalog.Predicate convert(SymbolTable symbolTable) { + public org.eclipse.biscuit.datalog.Predicate convert(SymbolTable symbolTable) { long name = symbolTable.insert(this.name); - ArrayList terms = new ArrayList<>(); + ArrayList terms = new ArrayList<>(); for (Term a : this.terms) { terms.add(a.convert(symbolTable)); } - return new org.biscuitsec.biscuit.datalog.Predicate(name, terms); + return new org.eclipse.biscuit.datalog.Predicate(name, terms); } public static Predicate convertFrom( - org.biscuitsec.biscuit.datalog.Predicate p, SymbolTable symbolTable) { + org.eclipse.biscuit.datalog.Predicate p, SymbolTable symbolTable) { String name = symbolTable.formatSymbol((int) p.name()); List terms = new ArrayList<>(); - for (org.biscuitsec.biscuit.datalog.Term t : p.terms()) { + for (org.eclipse.biscuit.datalog.Term t : p.terms()) { terms.add(t.toTerm(symbolTable)); } diff --git a/src/main/java/org/biscuitsec/biscuit/token/builder/Rule.java b/src/main/java/org/eclipse/biscuit/token/builder/Rule.java similarity index 88% rename from src/main/java/org/biscuitsec/biscuit/token/builder/Rule.java rename to src/main/java/org/eclipse/biscuit/token/builder/Rule.java index f17053ba..ac536934 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/builder/Rule.java +++ b/src/main/java/org/eclipse/biscuit/token/builder/Rule.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.token.builder; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token.builder; import io.vavr.control.Either; import io.vavr.control.Option; @@ -9,9 +14,9 @@ import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.biscuitsec.biscuit.datalog.SymbolTable; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.error.FailedCheck; +import org.eclipse.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.error.FailedCheck; public final class Rule implements Cloneable { Predicate head; @@ -164,13 +169,13 @@ public Either validateVariables() { + freeVariables.toString()); } - public org.biscuitsec.biscuit.datalog.Rule convert(SymbolTable symbolTable) { + public org.eclipse.biscuit.datalog.Rule convert(SymbolTable symbolTable) { Rule r = this.clone(); r.applyVariables(); - ArrayList body = new ArrayList<>(); - ArrayList expressions = + ArrayList body = new ArrayList<>(); + ArrayList expressions = new ArrayList<>(); - ArrayList scopes = new ArrayList<>(); + ArrayList scopes = new ArrayList<>(); for (Predicate p : r.body) { body.add(p.convert(symbolTable)); @@ -183,24 +188,24 @@ public org.biscuitsec.biscuit.datalog.Rule convert(SymbolTable symbolTable) { for (Scope s : r.scopes) { scopes.add(s.convert(symbolTable)); } - org.biscuitsec.biscuit.datalog.Predicate head = r.head.convert(symbolTable); - return new org.biscuitsec.biscuit.datalog.Rule(head, body, expressions, scopes); + org.eclipse.biscuit.datalog.Predicate head = r.head.convert(symbolTable); + return new org.eclipse.biscuit.datalog.Rule(head, body, expressions, scopes); } - public static Rule convertFrom(org.biscuitsec.biscuit.datalog.Rule r, SymbolTable symbolTable) { + public static Rule convertFrom(org.eclipse.biscuit.datalog.Rule r, SymbolTable symbolTable) { ArrayList body = new ArrayList<>(); ArrayList expressions = new ArrayList<>(); ArrayList scopes = new ArrayList<>(); - for (org.biscuitsec.biscuit.datalog.Predicate p : r.body()) { + for (org.eclipse.biscuit.datalog.Predicate p : r.body()) { body.add(Predicate.convertFrom(p, symbolTable)); } - for (org.biscuitsec.biscuit.datalog.expressions.Expression e : r.expressions()) { + for (org.eclipse.biscuit.datalog.expressions.Expression e : r.expressions()) { expressions.add(Expression.convertFrom(e, symbolTable)); } - for (org.biscuitsec.biscuit.datalog.Scope s : r.scopes()) { + for (org.eclipse.biscuit.datalog.Scope s : r.scopes()) { scopes.add(Scope.convertFrom(s, symbolTable)); } diff --git a/src/main/java/org/biscuitsec/biscuit/token/builder/Scope.java b/src/main/java/org/eclipse/biscuit/token/builder/Scope.java similarity index 80% rename from src/main/java/org/biscuitsec/biscuit/token/builder/Scope.java rename to src/main/java/org/eclipse/biscuit/token/builder/Scope.java index 3c4047a6..be69d083 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/builder/Scope.java +++ b/src/main/java/org/eclipse/biscuit/token/builder/Scope.java @@ -1,8 +1,13 @@ -package org.biscuitsec.biscuit.token.builder; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token.builder; import java.util.Objects; -import org.biscuitsec.biscuit.crypto.PublicKey; -import org.biscuitsec.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.datalog.SymbolTable; public final class Scope { enum Kind { @@ -50,25 +55,25 @@ public static Scope parameter(String parameter) { return new Scope(Kind.Parameter, parameter); } - public org.biscuitsec.biscuit.datalog.Scope convert(SymbolTable symbolTable) { + public org.eclipse.biscuit.datalog.Scope convert(SymbolTable symbolTable) { switch (this.kind) { case Authority: - return org.biscuitsec.biscuit.datalog.Scope.authority(); + return org.eclipse.biscuit.datalog.Scope.authority(); case Previous: - return org.biscuitsec.biscuit.datalog.Scope.previous(); + return org.eclipse.biscuit.datalog.Scope.previous(); case Parameter: // FIXME return null; // throw new Exception("Remaining parameter: " + this.parameter); case PublicKey: - return org.biscuitsec.biscuit.datalog.Scope.publicKey(symbolTable.insert(this.publicKey)); + return org.eclipse.biscuit.datalog.Scope.publicKey(symbolTable.insert(this.publicKey)); default: return null; } } public static Scope convertFrom( - org.biscuitsec.biscuit.datalog.Scope scope, SymbolTable symbolTable) { + org.eclipse.biscuit.datalog.Scope scope, SymbolTable symbolTable) { switch (scope.kind()) { case Authority: return new Scope(Kind.Authority); diff --git a/src/main/java/org/biscuitsec/biscuit/token/builder/Term.java b/src/main/java/org/eclipse/biscuit/token/builder/Term.java similarity index 77% rename from src/main/java/org/biscuitsec/biscuit/token/builder/Term.java rename to src/main/java/org/eclipse/biscuit/token/builder/Term.java index 4c72885b..c348047b 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/builder/Term.java +++ b/src/main/java/org/eclipse/biscuit/token/builder/Term.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.token.builder; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token.builder; import java.time.Instant; import java.time.ZoneOffset; @@ -7,12 +12,12 @@ import java.util.Collections; import java.util.HashSet; import java.util.Objects; -import org.biscuitsec.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.datalog.SymbolTable; public abstract class Term { - public abstract org.biscuitsec.biscuit.datalog.Term convert(SymbolTable symbolTable); + public abstract org.eclipse.biscuit.datalog.Term convert(SymbolTable symbolTable); - public static Term convertFrom(org.biscuitsec.biscuit.datalog.Term id, SymbolTable symbols) { + public static Term convertFrom(org.eclipse.biscuit.datalog.Term id, SymbolTable symbols) { return id.toTerm(symbols); } @@ -24,8 +29,8 @@ public Str(String value) { } @Override - public org.biscuitsec.biscuit.datalog.Term convert(SymbolTable symbolTable) { - return new org.biscuitsec.biscuit.datalog.Term.Str(symbolTable.insert(this.value)); + public org.eclipse.biscuit.datalog.Term convert(SymbolTable symbolTable) { + return new org.eclipse.biscuit.datalog.Term.Str(symbolTable.insert(this.value)); } public String getValue() { @@ -63,8 +68,8 @@ public Variable(String value) { } @Override - public org.biscuitsec.biscuit.datalog.Term convert(SymbolTable symbolTable) { - return new org.biscuitsec.biscuit.datalog.Term.Variable(symbolTable.insert(this.value)); + public org.eclipse.biscuit.datalog.Term convert(SymbolTable symbolTable) { + return new org.eclipse.biscuit.datalog.Term.Variable(symbolTable.insert(this.value)); } public String getValue() { @@ -108,8 +113,8 @@ public long getValue() { } @Override - public org.biscuitsec.biscuit.datalog.Term convert(SymbolTable symbolTable) { - return new org.biscuitsec.biscuit.datalog.Term.Integer(this.value); + public org.eclipse.biscuit.datalog.Term convert(SymbolTable symbolTable) { + return new org.eclipse.biscuit.datalog.Term.Integer(this.value); } @Override @@ -145,8 +150,8 @@ public Bytes(byte[] value) { } @Override - public org.biscuitsec.biscuit.datalog.Term convert(SymbolTable symbolTable) { - return new org.biscuitsec.biscuit.datalog.Term.Bytes(this.value); + public org.eclipse.biscuit.datalog.Term convert(SymbolTable symbolTable) { + return new org.eclipse.biscuit.datalog.Term.Bytes(this.value); } public byte[] getValue() { @@ -186,8 +191,8 @@ public Date(long value) { } @Override - public org.biscuitsec.biscuit.datalog.Term convert(SymbolTable symbolTable) { - return new org.biscuitsec.biscuit.datalog.Term.Date(this.value); + public org.eclipse.biscuit.datalog.Term convert(SymbolTable symbolTable) { + return new org.eclipse.biscuit.datalog.Term.Date(this.value); } public long getValue() { @@ -230,8 +235,8 @@ public Bool(boolean value) { } @Override - public org.biscuitsec.biscuit.datalog.Term convert(SymbolTable symbolTable) { - return new org.biscuitsec.biscuit.datalog.Term.Bool(this.value); + public org.eclipse.biscuit.datalog.Term convert(SymbolTable symbolTable) { + return new org.eclipse.biscuit.datalog.Term.Bool(this.value); } public boolean getValue() { @@ -275,14 +280,14 @@ public Set(java.util.Set value) { } @Override - public org.biscuitsec.biscuit.datalog.Term convert(SymbolTable symbolTable) { - HashSet s = new HashSet<>(); + public org.eclipse.biscuit.datalog.Term convert(SymbolTable symbolTable) { + HashSet s = new HashSet<>(); for (Term t : this.value) { s.add(t.convert(symbolTable)); } - return new org.biscuitsec.biscuit.datalog.Term.Set(s); + return new org.eclipse.biscuit.datalog.Term.Set(s); } public java.util.Set getValue() { diff --git a/src/main/java/org/biscuitsec/biscuit/token/builder/Utils.java b/src/main/java/org/eclipse/biscuit/token/builder/Utils.java similarity index 87% rename from src/main/java/org/biscuitsec/biscuit/token/builder/Utils.java rename to src/main/java/org/eclipse/biscuit/token/builder/Utils.java index a25d32fc..68db736d 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/builder/Utils.java +++ b/src/main/java/org/eclipse/biscuit/token/builder/Utils.java @@ -1,12 +1,17 @@ -package org.biscuitsec.biscuit.token.builder; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ -import static org.biscuitsec.biscuit.datalog.Check.Kind.ONE; +package org.eclipse.biscuit.token.builder; + +import static org.eclipse.biscuit.datalog.Check.Kind.ONE; import java.util.ArrayList; import java.util.Date; import java.util.HashSet; import java.util.List; -import org.biscuitsec.biscuit.error.Error; +import org.eclipse.biscuit.error.Error; public final class Utils { private Utils() {} diff --git a/src/main/java/org/eclipse/biscuit/token/builder/package-info.java b/src/main/java/org/eclipse/biscuit/token/builder/package-info.java new file mode 100644 index 00000000..0cb7979d --- /dev/null +++ b/src/main/java/org/eclipse/biscuit/token/builder/package-info.java @@ -0,0 +1,7 @@ +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +/** Builder interface to create tokens and caveats */ +package org.eclipse.biscuit.token.builder; diff --git a/src/main/java/org/biscuitsec/biscuit/token/builder/parser/Error.java b/src/main/java/org/eclipse/biscuit/token/builder/parser/Error.java similarity index 84% rename from src/main/java/org/biscuitsec/biscuit/token/builder/parser/Error.java rename to src/main/java/org/eclipse/biscuit/token/builder/parser/Error.java index 23da6464..661750b9 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/builder/parser/Error.java +++ b/src/main/java/org/eclipse/biscuit/token/builder/parser/Error.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.token.builder.parser; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token.builder.parser; import com.google.gson.JsonElement; import com.google.gson.JsonObject; diff --git a/src/main/java/org/biscuitsec/biscuit/token/builder/parser/ExpressionParser.java b/src/main/java/org/eclipse/biscuit/token/builder/parser/ExpressionParser.java similarity index 97% rename from src/main/java/org/biscuitsec/biscuit/token/builder/parser/ExpressionParser.java rename to src/main/java/org/eclipse/biscuit/token/builder/parser/ExpressionParser.java index 4902bed8..ab2a63b1 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/builder/parser/ExpressionParser.java +++ b/src/main/java/org/eclipse/biscuit/token/builder/parser/ExpressionParser.java @@ -1,12 +1,17 @@ -package org.biscuitsec.biscuit.token.builder.parser; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ -import static org.biscuitsec.biscuit.token.builder.parser.Parser.space; -import static org.biscuitsec.biscuit.token.builder.parser.Parser.term; +package org.eclipse.biscuit.token.builder.parser; + +import static org.eclipse.biscuit.token.builder.parser.Parser.space; +import static org.eclipse.biscuit.token.builder.parser.Parser.term; import io.vavr.Tuple2; import io.vavr.control.Either; -import org.biscuitsec.biscuit.token.builder.Expression; -import org.biscuitsec.biscuit.token.builder.Term; +import org.eclipse.biscuit.token.builder.Expression; +import org.eclipse.biscuit.token.builder.Term; public final class ExpressionParser { private ExpressionParser() {} diff --git a/src/main/java/org/biscuitsec/biscuit/token/builder/parser/Parser.java b/src/main/java/org/eclipse/biscuit/token/builder/parser/Parser.java similarity index 96% rename from src/main/java/org/biscuitsec/biscuit/token/builder/parser/Parser.java rename to src/main/java/org/eclipse/biscuit/token/builder/parser/Parser.java index 89c5ba38..43febdde 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/builder/parser/Parser.java +++ b/src/main/java/org/eclipse/biscuit/token/builder/parser/Parser.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.token.builder.parser; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token.builder.parser; import biscuit.format.schema.Schema; import io.vavr.Tuple2; @@ -14,17 +19,17 @@ import java.util.List; import java.util.Map; import java.util.function.Function; -import org.biscuitsec.biscuit.crypto.PublicKey; -import org.biscuitsec.biscuit.token.Policy; -import org.biscuitsec.biscuit.token.builder.Block; -import org.biscuitsec.biscuit.token.builder.Check; -import org.biscuitsec.biscuit.token.builder.Expression; -import org.biscuitsec.biscuit.token.builder.Fact; -import org.biscuitsec.biscuit.token.builder.Predicate; -import org.biscuitsec.biscuit.token.builder.Rule; -import org.biscuitsec.biscuit.token.builder.Scope; -import org.biscuitsec.biscuit.token.builder.Term; -import org.biscuitsec.biscuit.token.builder.Utils; +import org.eclipse.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.token.Policy; +import org.eclipse.biscuit.token.builder.Block; +import org.eclipse.biscuit.token.builder.Check; +import org.eclipse.biscuit.token.builder.Expression; +import org.eclipse.biscuit.token.builder.Fact; +import org.eclipse.biscuit.token.builder.Predicate; +import org.eclipse.biscuit.token.builder.Rule; +import org.eclipse.biscuit.token.builder.Scope; +import org.eclipse.biscuit.token.builder.Term; +import org.eclipse.biscuit.token.builder.Utils; public final class Parser { private Parser() {} @@ -252,13 +257,13 @@ public static Either> rule(String s) { } public static Either> check(String s) { - org.biscuitsec.biscuit.datalog.Check.Kind kind; + org.eclipse.biscuit.datalog.Check.Kind kind; if (s.startsWith("check if")) { - kind = org.biscuitsec.biscuit.datalog.Check.Kind.ONE; + kind = org.eclipse.biscuit.datalog.Check.Kind.ONE; s = s.substring("check if".length()); } else if (s.startsWith("check all")) { - kind = org.biscuitsec.biscuit.datalog.Check.Kind.ALL; + kind = org.eclipse.biscuit.datalog.Check.Kind.ALL; s = s.substring("check all".length()); } else { return Either.left(new Error(s, "missing check prefix")); diff --git a/src/main/java/org/biscuitsec/biscuit/token/format/ExternalSignature.java b/src/main/java/org/eclipse/biscuit/token/format/ExternalSignature.java similarity index 57% rename from src/main/java/org/biscuitsec/biscuit/token/format/ExternalSignature.java rename to src/main/java/org/eclipse/biscuit/token/format/ExternalSignature.java index ac8fb085..d8c82660 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/format/ExternalSignature.java +++ b/src/main/java/org/eclipse/biscuit/token/format/ExternalSignature.java @@ -1,6 +1,11 @@ -package org.biscuitsec.biscuit.token.format; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ -import org.biscuitsec.biscuit.crypto.PublicKey; +package org.eclipse.biscuit.token.format; + +import org.eclipse.biscuit.crypto.PublicKey; public class ExternalSignature { private final PublicKey key; diff --git a/src/main/java/org/biscuitsec/biscuit/token/format/Proof.java b/src/main/java/org/eclipse/biscuit/token/format/Proof.java similarity index 87% rename from src/main/java/org/biscuitsec/biscuit/token/format/Proof.java rename to src/main/java/org/eclipse/biscuit/token/format/Proof.java index 3f53b62e..e8cd35d5 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/format/Proof.java +++ b/src/main/java/org/eclipse/biscuit/token/format/Proof.java @@ -1,7 +1,12 @@ -package org.biscuitsec.biscuit.token.format; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token.format; import io.vavr.control.Option; -import org.biscuitsec.biscuit.crypto.KeyPair; +import org.eclipse.biscuit.crypto.KeyPair; /** Sum type for Proof NextSecret or FinalSignature. */ interface Proof { diff --git a/src/main/java/org/biscuitsec/biscuit/token/format/SerializedBiscuit.java b/src/main/java/org/eclipse/biscuit/token/format/SerializedBiscuit.java similarity index 88% rename from src/main/java/org/biscuitsec/biscuit/token/format/SerializedBiscuit.java rename to src/main/java/org/eclipse/biscuit/token/format/SerializedBiscuit.java index d2d262fc..9f39c4c7 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/format/SerializedBiscuit.java +++ b/src/main/java/org/eclipse/biscuit/token/format/SerializedBiscuit.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.token.format; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token.format; import static io.vavr.API.Left; import static io.vavr.API.Right; @@ -18,13 +23,14 @@ import java.security.SignatureException; import java.util.ArrayList; import java.util.List; -import org.biscuitsec.biscuit.crypto.BlockSignatureBuffer; -import org.biscuitsec.biscuit.crypto.KeyDelegate; -import org.biscuitsec.biscuit.crypto.KeyPair; -import org.biscuitsec.biscuit.crypto.PublicKey; -import org.biscuitsec.biscuit.datalog.SymbolTable; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.token.Block; +import org.eclipse.biscuit.crypto.BlockSignatureBuffer; +import org.eclipse.biscuit.crypto.KeyDelegate; +import org.eclipse.biscuit.crypto.KeyPair; +import org.eclipse.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.crypto.Signer; +import org.eclipse.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.token.Block; /** Intermediate representation of a token before full serialization */ public final class SerializedBiscuit { @@ -43,7 +49,7 @@ public final class SerializedBiscuit { * @return */ public static SerializedBiscuit fromBytes( - byte[] slice, org.biscuitsec.biscuit.crypto.PublicKey root) + byte[] slice, PublicKey root) throws NoSuchAlgorithmException, SignatureException, InvalidKeyException, Error { try { Schema.Biscuit data = Schema.Biscuit.parseFrom(slice); @@ -70,7 +76,7 @@ public static SerializedBiscuit fromBytes(byte[] slice, KeyDelegate delegate) rootKeyId = Option.some(data.getRootKeyId()); } - Option root = delegate.getRootKey(rootKeyId); + Option root = delegate.getRootKey(rootKeyId); if (root.isEmpty()) { throw new InvalidKeyException("unknown root key id"); } @@ -82,7 +88,7 @@ public static SerializedBiscuit fromBytes(byte[] slice, KeyDelegate delegate) } static SerializedBiscuit fromBytesInner( - Schema.Biscuit data, org.biscuitsec.biscuit.crypto.PublicKey root) + Schema.Biscuit data, PublicKey root) throws NoSuchAlgorithmException, SignatureException, InvalidKeyException, Error { SerializedBiscuit b = SerializedBiscuit.deserialize(data); if (data.hasRootKeyId()) { @@ -131,7 +137,7 @@ private static SerializedBiscuit deserialize(Schema.Biscuit data) SignedBlock authority = new SignedBlock( data.getAuthority().getBlock().toByteArray(), - org.biscuitsec.biscuit.crypto.PublicKey.deserialize(data.getAuthority().getNextKey()), + PublicKey.deserialize(data.getAuthority().getNextKey()), data.getAuthority().getSignature().toByteArray(), Option.none()); @@ -145,13 +151,13 @@ private static SerializedBiscuit deserialize(Schema.Biscuit data) external = Option.some( new ExternalSignature( - org.biscuitsec.biscuit.crypto.PublicKey.deserialize(ex.getPublicKey()), + PublicKey.deserialize(ex.getPublicKey()), ex.getSignature().toByteArray())); } blocks.add( new SignedBlock( block.getBlock().toByteArray(), - org.biscuitsec.biscuit.crypto.PublicKey.deserialize(block.getNextKey()), + PublicKey.deserialize(block.getNextKey()), block.getSignature().toByteArray(), external)); } @@ -239,24 +245,24 @@ public byte[] serialize() throws Error.FormatError.SerializationError { } public static Either make( - final org.biscuitsec.biscuit.crypto.KeyPair root, + final KeyPair root, final Block authority, - final org.biscuitsec.biscuit.crypto.KeyPair next) { + final KeyPair next) { return make(root, Option.none(), authority, next); } public static Either make( - final org.biscuitsec.biscuit.crypto.Signer rootSigner, + final Signer rootSigner, final Option rootKeyId, final Block authority, - final org.biscuitsec.biscuit.crypto.KeyPair next) { + final KeyPair next) { Schema.Block b = authority.serialize(); try { ByteArrayOutputStream stream = new ByteArrayOutputStream(); b.writeTo(stream); byte[] block = stream.toByteArray(); - org.biscuitsec.biscuit.crypto.PublicKey nextKey = next.getPublicKey(); + PublicKey nextKey = next.getPublicKey(); byte[] payload = BlockSignatureBuffer.getBufferSignature(nextKey, block); byte[] signature = rootSigner.sign(payload); SignedBlock signedBlock = new SignedBlock(block, nextKey, signature, Option.none()); @@ -269,7 +275,7 @@ public static Either make( } public Either append( - final org.biscuitsec.biscuit.crypto.KeyPair next, + final KeyPair next, final Block newBlock, Option externalSignature) { if (this.proof.isSealed()) { @@ -283,7 +289,7 @@ public Either append( byte[] block = stream.toByteArray(); KeyPair secretKey = this.proof.secretKey(); - org.biscuitsec.biscuit.crypto.PublicKey nextKey = next.getPublicKey(); + PublicKey nextKey = next.getPublicKey(); byte[] payload = BlockSignatureBuffer.getBufferSignature( @@ -306,10 +312,10 @@ public Either append( } } - public Either verify(org.biscuitsec.biscuit.crypto.PublicKey root) + public Either verify(PublicKey root) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException { - org.biscuitsec.biscuit.crypto.PublicKey currentKey = root; - Either res = + PublicKey currentKey = root; + Either res = verifyBlockSignature(this.authority, currentKey); if (res.isRight()) { currentKey = res.get(); @@ -356,7 +362,7 @@ public Either verify(org.biscuitsec.biscuit.crypto.PublicKey root) } byte[] block = b.getBlock(); - org.biscuitsec.biscuit.crypto.PublicKey nextKey = b.getKey(); + PublicKey nextKey = b.getKey(); byte[] signature = b.getSignature(); byte[] payload = BlockSignatureBuffer.getBufferSealedSignature(nextKey, block, signature); @@ -369,11 +375,11 @@ public Either verify(org.biscuitsec.biscuit.crypto.PublicKey root) } } - static Either verifyBlockSignature( - SignedBlock signedBlock, org.biscuitsec.biscuit.crypto.PublicKey publicKey) + static Either verifyBlockSignature( + SignedBlock signedBlock, PublicKey publicKey) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException { - org.biscuitsec.biscuit.crypto.PublicKey nextKey = signedBlock.getKey(); + PublicKey nextKey = signedBlock.getKey(); byte[] signature = signedBlock.getSignature(); var signatureLengthError = @@ -411,7 +417,7 @@ static Either verifyBlockSignatu } public Tuple2> extractBlocks(SymbolTable symbolTable) throws Error { - ArrayList> blockExternalKeys = + ArrayList> blockExternalKeys = new ArrayList<>(); Either authRes = Block.fromBytes(this.authority.getBlock(), Option.none()); @@ -419,7 +425,7 @@ public Tuple2> extractBlocks(SymbolTable symbolTable) th throw authRes.getLeft(); } Block authority = authRes.get(); - for (org.biscuitsec.biscuit.crypto.PublicKey pk : authority.getPublicKeys()) { + for (PublicKey pk : authority.getPublicKeys()) { symbolTable.insert(pk); } blockExternalKeys.add(Option.none()); @@ -430,7 +436,7 @@ public Tuple2> extractBlocks(SymbolTable symbolTable) th ArrayList blocks = new ArrayList<>(); for (SignedBlock bdata : this.blocks) { - Option externalKey = Option.none(); + Option externalKey = Option.none(); if (bdata.getExternalSignature().isDefined()) { externalKey = Option.some(bdata.getExternalSignature().get().getKey()); } @@ -449,7 +455,7 @@ public Tuple2> extractBlocks(SymbolTable symbolTable) th for (String s : block.getSymbolTable().symbols()) { symbolTable.add(s); } - for (org.biscuitsec.biscuit.crypto.PublicKey pk : block.getPublicKeys()) { + for (PublicKey pk : block.getPublicKeys()) { symbolTable.insert(pk); } } diff --git a/src/main/java/org/biscuitsec/biscuit/token/format/SignedBlock.java b/src/main/java/org/eclipse/biscuit/token/format/SignedBlock.java similarity index 73% rename from src/main/java/org/biscuitsec/biscuit/token/format/SignedBlock.java rename to src/main/java/org/eclipse/biscuit/token/format/SignedBlock.java index 77d61a7d..79b9284e 100644 --- a/src/main/java/org/biscuitsec/biscuit/token/format/SignedBlock.java +++ b/src/main/java/org/eclipse/biscuit/token/format/SignedBlock.java @@ -1,7 +1,12 @@ -package org.biscuitsec.biscuit.token.format; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token.format; import io.vavr.control.Option; -import org.biscuitsec.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.crypto.PublicKey; public class SignedBlock { private byte[] block; diff --git a/src/main/java/org/eclipse/biscuit/token/format/package-info.java b/src/main/java/org/eclipse/biscuit/token/format/package-info.java new file mode 100644 index 00000000..729ebf1b --- /dev/null +++ b/src/main/java/org/eclipse/biscuit/token/format/package-info.java @@ -0,0 +1,7 @@ +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +/** Serializing code */ +package org.eclipse.biscuit.token.format; diff --git a/src/main/java/org/eclipse/biscuit/token/package-info.java b/src/main/java/org/eclipse/biscuit/token/package-info.java new file mode 100644 index 00000000..3f4434df --- /dev/null +++ b/src/main/java/org/eclipse/biscuit/token/package-info.java @@ -0,0 +1,7 @@ +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +/** Classes related to creating and verifying Biscuit tokens */ +package org.eclipse.biscuit.token; diff --git a/src/test/java/org/biscuitsec/biscuit/builder/BuilderTest.java b/src/test/java/org/eclipse/biscuit/builder/BuilderTest.java similarity index 88% rename from src/test/java/org/biscuitsec/biscuit/builder/BuilderTest.java rename to src/test/java/org/eclipse/biscuit/builder/BuilderTest.java index 8c618694..36474870 100644 --- a/src/test/java/org/biscuitsec/biscuit/builder/BuilderTest.java +++ b/src/test/java/org/eclipse/biscuit/builder/BuilderTest.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.builder; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.builder; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals; @@ -13,14 +18,14 @@ import java.util.Date; import java.util.HashSet; import java.util.Set; -import org.biscuitsec.biscuit.crypto.KeyPair; -import org.biscuitsec.biscuit.datalog.SymbolTable; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.token.Biscuit; -import org.biscuitsec.biscuit.token.builder.Block; -import org.biscuitsec.biscuit.token.builder.Expression; -import org.biscuitsec.biscuit.token.builder.Term; -import org.biscuitsec.biscuit.token.builder.Utils; +import org.eclipse.biscuit.crypto.KeyPair; +import org.eclipse.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.token.Biscuit; +import org.eclipse.biscuit.token.builder.Block; +import org.eclipse.biscuit.token.builder.Expression; +import org.eclipse.biscuit.token.builder.Term; +import org.eclipse.biscuit.token.builder.Utils; import org.junit.jupiter.api.Test; public class BuilderTest { @@ -87,7 +92,7 @@ public void testBuild() throws Error.Language, Error.SymbolTableOverlap, Error.F new Expression.Value( new Term.Set(new HashSet<>(Arrays.asList(Utils.str("lookup"))))))))); - org.biscuitsec.biscuit.token.Block authority = authorityBuilder.build(symbolTable); + org.eclipse.biscuit.token.Block authority = authorityBuilder.build(symbolTable); Biscuit rootBiscuit = Biscuit.make(rng, root, authority); System.out.println(rootBiscuit.print()); diff --git a/src/test/java/org/biscuitsec/biscuit/builder/parser/ParserTest.java b/src/test/java/org/eclipse/biscuit/builder/parser/ParserTest.java similarity index 86% rename from src/test/java/org/biscuitsec/biscuit/builder/parser/ParserTest.java rename to src/test/java/org/eclipse/biscuit/builder/parser/ParserTest.java index df3e38bd..cbb4f99c 100644 --- a/src/test/java/org/biscuitsec/biscuit/builder/parser/ParserTest.java +++ b/src/test/java/org/eclipse/biscuit/builder/parser/ParserTest.java @@ -1,6 +1,11 @@ -package org.biscuitsec.biscuit.builder.parser; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ -import static org.biscuitsec.biscuit.datalog.Check.Kind.ONE; +package org.eclipse.biscuit.builder.parser; + +import static org.eclipse.biscuit.datalog.Check.Kind.ONE; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -13,21 +18,21 @@ import java.util.HashSet; import java.util.List; import java.util.Map; -import org.biscuitsec.biscuit.crypto.PublicKey; -import org.biscuitsec.biscuit.datalog.SymbolTable; -import org.biscuitsec.biscuit.datalog.TemporarySymbolTable; -import org.biscuitsec.biscuit.datalog.expressions.Op; -import org.biscuitsec.biscuit.token.builder.Block; -import org.biscuitsec.biscuit.token.builder.Check; -import org.biscuitsec.biscuit.token.builder.Expression; -import org.biscuitsec.biscuit.token.builder.Fact; -import org.biscuitsec.biscuit.token.builder.Predicate; -import org.biscuitsec.biscuit.token.builder.Rule; -import org.biscuitsec.biscuit.token.builder.Scope; -import org.biscuitsec.biscuit.token.builder.Term; -import org.biscuitsec.biscuit.token.builder.Utils; -import org.biscuitsec.biscuit.token.builder.parser.Error; -import org.biscuitsec.biscuit.token.builder.parser.Parser; +import org.eclipse.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.datalog.TemporarySymbolTable; +import org.eclipse.biscuit.datalog.expressions.Op; +import org.eclipse.biscuit.token.builder.Block; +import org.eclipse.biscuit.token.builder.Check; +import org.eclipse.biscuit.token.builder.Expression; +import org.eclipse.biscuit.token.builder.Fact; +import org.eclipse.biscuit.token.builder.Predicate; +import org.eclipse.biscuit.token.builder.Rule; +import org.eclipse.biscuit.token.builder.Scope; +import org.eclipse.biscuit.token.builder.Term; +import org.eclipse.biscuit.token.builder.Utils; +import org.eclipse.biscuit.token.builder.parser.Error; +import org.eclipse.biscuit.token.builder.parser.Parser; import org.junit.jupiter.api.Test; class ParserTest { @@ -67,7 +72,7 @@ void testVariable() { } @Test - void testFact() throws org.biscuitsec.biscuit.error.Error.Language { + void testFact() throws org.eclipse.biscuit.error.Error.Language { Either> res = Parser.fact("right( \"file1\", \"read\" )"); assertEquals( Either.right( @@ -328,9 +333,9 @@ void testExpression() { long test = s3.insert("test"); assertEquals( Arrays.asList( - new Op.Value(new org.biscuitsec.biscuit.datalog.Term.Integer(1)), - new Op.Value(new org.biscuitsec.biscuit.datalog.Term.Variable(test)), - new Op.Value(new org.biscuitsec.biscuit.datalog.Term.Integer(2)), + new Op.Value(new org.eclipse.biscuit.datalog.Term.Integer(1)), + new Op.Value(new org.eclipse.biscuit.datalog.Term.Variable(test)), + new Op.Value(new org.eclipse.biscuit.datalog.Term.Integer(2)), new Op.Binary(Op.BinaryOp.Add), new Op.Binary(Op.BinaryOp.LessThan)), res3.get()._2.convert(s3).getOps()); @@ -376,7 +381,7 @@ void testExpression() { } @Test - void testParens() throws org.biscuitsec.biscuit.error.Error.Execution { + void testParens() throws org.eclipse.biscuit.error.Error.Execution { Either> res = Parser.expression(" 1 + 2 * 3 "); assertEquals( @@ -395,20 +400,20 @@ void testParens() throws org.biscuitsec.biscuit.error.Error.Execution { Expression e = res.get()._2; SymbolTable s = new SymbolTable(); - org.biscuitsec.biscuit.datalog.expressions.Expression ex = e.convert(s); + org.eclipse.biscuit.datalog.expressions.Expression ex = e.convert(s); assertEquals( Arrays.asList( - new Op.Value(new org.biscuitsec.biscuit.datalog.Term.Integer(1)), - new Op.Value(new org.biscuitsec.biscuit.datalog.Term.Integer(2)), - new Op.Value(new org.biscuitsec.biscuit.datalog.Term.Integer(3)), + new Op.Value(new org.eclipse.biscuit.datalog.Term.Integer(1)), + new Op.Value(new org.eclipse.biscuit.datalog.Term.Integer(2)), + new Op.Value(new org.eclipse.biscuit.datalog.Term.Integer(3)), new Op.Binary(Op.BinaryOp.Mul), new Op.Binary(Op.BinaryOp.Add)), ex.getOps()); - Map variables = new HashMap<>(); - org.biscuitsec.biscuit.datalog.Term value = ex.evaluate(variables, new TemporarySymbolTable(s)); - assertEquals(new org.biscuitsec.biscuit.datalog.Term.Integer(7), value); + Map variables = new HashMap<>(); + org.eclipse.biscuit.datalog.Term value = ex.evaluate(variables, new TemporarySymbolTable(s)); + assertEquals(new org.eclipse.biscuit.datalog.Term.Integer(7), value); assertEquals("1 + 2 * 3", ex.print(s).get()); Either> res2 = Parser.expression(" (1 + 2) * 3 "); @@ -431,27 +436,27 @@ void testParens() throws org.biscuitsec.biscuit.error.Error.Execution { Expression e2 = res2.get()._2; SymbolTable s2 = new SymbolTable(); - org.biscuitsec.biscuit.datalog.expressions.Expression ex2 = e2.convert(s2); + org.eclipse.biscuit.datalog.expressions.Expression ex2 = e2.convert(s2); assertEquals( Arrays.asList( - new Op.Value(new org.biscuitsec.biscuit.datalog.Term.Integer(1)), - new Op.Value(new org.biscuitsec.biscuit.datalog.Term.Integer(2)), + new Op.Value(new org.eclipse.biscuit.datalog.Term.Integer(1)), + new Op.Value(new org.eclipse.biscuit.datalog.Term.Integer(2)), new Op.Binary(Op.BinaryOp.Add), new Op.Unary(Op.UnaryOp.Parens), - new Op.Value(new org.biscuitsec.biscuit.datalog.Term.Integer(3)), + new Op.Value(new org.eclipse.biscuit.datalog.Term.Integer(3)), new Op.Binary(Op.BinaryOp.Mul)), ex2.getOps()); - Map variables2 = new HashMap<>(); - org.biscuitsec.biscuit.datalog.Term value2 = + Map variables2 = new HashMap<>(); + org.eclipse.biscuit.datalog.Term value2 = ex2.evaluate(variables2, new TemporarySymbolTable(s2)); - assertEquals(new org.biscuitsec.biscuit.datalog.Term.Integer(9), value2); + assertEquals(new org.eclipse.biscuit.datalog.Term.Integer(9), value2); assertEquals("(1 + 2) * 3", ex2.print(s2).get()); } @Test - void testDatalogSucceeds() throws org.biscuitsec.biscuit.error.Error.Parser { + void testDatalogSucceeds() throws org.eclipse.biscuit.error.Error.Parser { String l1 = "fact1(1, 2)"; String l2 = "fact2(\"2\")"; @@ -472,7 +477,7 @@ void testDatalogSucceeds() throws org.biscuitsec.biscuit.error.Error.Parser { } @Test - void testDatalogSucceedsArrays() throws org.biscuitsec.biscuit.error.Error.Parser { + void testDatalogSucceedsArrays() throws org.eclipse.biscuit.error.Error.Parser { String l1 = "check if [2, 3].union([2])"; String toParse = String.join(";", List.of(l1)); @@ -486,7 +491,7 @@ void testDatalogSucceedsArrays() throws org.biscuitsec.biscuit.error.Error.Parse } @Test - void testDatalogSucceedsArraysContains() throws org.biscuitsec.biscuit.error.Error.Parser { + void testDatalogSucceedsArraysContains() throws org.eclipse.biscuit.error.Error.Parser { String l1 = "check if [2019-12-04T09:46:41Z, 2020-12-04T09:46:41Z].contains(2020-12-04T09:46:41Z)"; String toParse = String.join(";", List.of(l1)); diff --git a/src/test/java/org/biscuitsec/biscuit/crypto/SignatureTest.java b/src/test/java/org/eclipse/biscuit/crypto/SignatureTest.java similarity index 94% rename from src/test/java/org/biscuitsec/biscuit/crypto/SignatureTest.java rename to src/test/java/org/eclipse/biscuit/crypto/SignatureTest.java index 69054550..46100a65 100644 --- a/src/test/java/org/biscuitsec/biscuit/crypto/SignatureTest.java +++ b/src/test/java/org/eclipse/biscuit/crypto/SignatureTest.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.crypto; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.crypto; import static io.vavr.API.Right; import static org.junit.jupiter.api.Assertions.assertArrayEquals; @@ -11,8 +16,8 @@ import java.security.SecureRandom; import java.security.Security; import java.security.SignatureException; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.token.Biscuit; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.token.Biscuit; import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/biscuitsec/biscuit/datalog/ExpressionTest.java b/src/test/java/org/eclipse/biscuit/datalog/ExpressionTest.java similarity index 92% rename from src/test/java/org/biscuitsec/biscuit/datalog/ExpressionTest.java rename to src/test/java/org/eclipse/biscuit/datalog/ExpressionTest.java index e89e425a..54d894f5 100644 --- a/src/test/java/org/biscuitsec/biscuit/datalog/ExpressionTest.java +++ b/src/test/java/org/eclipse/biscuit/datalog/ExpressionTest.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -6,9 +11,9 @@ import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; -import org.biscuitsec.biscuit.datalog.expressions.Expression; -import org.biscuitsec.biscuit.datalog.expressions.Op; -import org.biscuitsec.biscuit.error.Error; +import org.eclipse.biscuit.datalog.expressions.Expression; +import org.eclipse.biscuit.datalog.expressions.Op; +import org.eclipse.biscuit.error.Error; import org.junit.jupiter.api.Test; public class ExpressionTest { diff --git a/src/test/java/org/biscuitsec/biscuit/datalog/WorldTest.java b/src/test/java/org/eclipse/biscuit/datalog/WorldTest.java similarity index 98% rename from src/test/java/org/biscuitsec/biscuit/datalog/WorldTest.java rename to src/test/java/org/eclipse/biscuit/datalog/WorldTest.java index 9f65c9f7..fee5b8d5 100644 --- a/src/test/java/org/biscuitsec/biscuit/datalog/WorldTest.java +++ b/src/test/java/org/eclipse/biscuit/datalog/WorldTest.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.datalog; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.datalog; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -9,9 +14,9 @@ import java.util.HashSet; import java.util.Iterator; import java.util.stream.Collectors; -import org.biscuitsec.biscuit.datalog.expressions.Expression; -import org.biscuitsec.biscuit.datalog.expressions.Op; -import org.biscuitsec.biscuit.error.Error; +import org.eclipse.biscuit.datalog.expressions.Expression; +import org.eclipse.biscuit.datalog.expressions.Op; +import org.eclipse.biscuit.error.Error; import org.junit.jupiter.api.Test; public class WorldTest { diff --git a/src/test/java/org/biscuitsec/biscuit/token/AuthorizerTest.java b/src/test/java/org/eclipse/biscuit/token/AuthorizerTest.java similarity index 87% rename from src/test/java/org/biscuitsec/biscuit/token/AuthorizerTest.java rename to src/test/java/org/eclipse/biscuit/token/AuthorizerTest.java index 0e0f2c56..bd9175a2 100644 --- a/src/test/java/org/biscuitsec/biscuit/token/AuthorizerTest.java +++ b/src/test/java/org/eclipse/biscuit/token/AuthorizerTest.java @@ -1,6 +1,11 @@ -package org.biscuitsec.biscuit.token; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ -import static org.biscuitsec.biscuit.token.builder.Utils.constrainedRule; +package org.eclipse.biscuit.token; + +import static org.eclipse.biscuit.token.builder.Utils.constrainedRule; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -10,11 +15,11 @@ import java.util.Arrays; import java.util.List; import java.util.Set; -import org.biscuitsec.biscuit.crypto.KeyPair; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.error.Error.Parser; -import org.biscuitsec.biscuit.token.builder.Expression; -import org.biscuitsec.biscuit.token.builder.Term; +import org.eclipse.biscuit.crypto.KeyPair; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.error.Error.Parser; +import org.eclipse.biscuit.token.builder.Expression; +import org.eclipse.biscuit.token.builder.Term; import org.junit.jupiter.api.Test; public class AuthorizerTest { diff --git a/src/test/java/org/biscuitsec/biscuit/token/BiscuitTest.java b/src/test/java/org/eclipse/biscuit/token/BiscuitTest.java similarity index 94% rename from src/test/java/org/biscuitsec/biscuit/token/BiscuitTest.java rename to src/test/java/org/eclipse/biscuit/token/BiscuitTest.java index 17d42807..a59c28d4 100644 --- a/src/test/java/org/biscuitsec/biscuit/token/BiscuitTest.java +++ b/src/test/java/org/eclipse/biscuit/token/BiscuitTest.java @@ -1,13 +1,18 @@ -package org.biscuitsec.biscuit.token; - -import static org.biscuitsec.biscuit.crypto.TokenSignature.hex; -import static org.biscuitsec.biscuit.token.builder.Utils.check; -import static org.biscuitsec.biscuit.token.builder.Utils.date; -import static org.biscuitsec.biscuit.token.builder.Utils.fact; -import static org.biscuitsec.biscuit.token.builder.Utils.pred; -import static org.biscuitsec.biscuit.token.builder.Utils.rule; -import static org.biscuitsec.biscuit.token.builder.Utils.str; -import static org.biscuitsec.biscuit.token.builder.Utils.var; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token; + +import static org.eclipse.biscuit.crypto.TokenSignature.hex; +import static org.eclipse.biscuit.token.builder.Utils.check; +import static org.eclipse.biscuit.token.builder.Utils.date; +import static org.eclipse.biscuit.token.builder.Utils.fact; +import static org.eclipse.biscuit.token.builder.Utils.pred; +import static org.eclipse.biscuit.token.builder.Utils.rule; +import static org.eclipse.biscuit.token.builder.Utils.str; +import static org.eclipse.biscuit.token.builder.Utils.var; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -25,14 +30,14 @@ import java.util.Arrays; import java.util.Date; import java.util.List; -import org.biscuitsec.biscuit.crypto.KeyDelegate; -import org.biscuitsec.biscuit.crypto.KeyPair; -import org.biscuitsec.biscuit.crypto.PublicKey; -import org.biscuitsec.biscuit.datalog.RunLimits; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.error.FailedCheck; -import org.biscuitsec.biscuit.error.LogicError; -import org.biscuitsec.biscuit.token.builder.Block; +import org.eclipse.biscuit.crypto.KeyDelegate; +import org.eclipse.biscuit.crypto.KeyPair; +import org.eclipse.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.datalog.RunLimits; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.error.FailedCheck; +import org.eclipse.biscuit.error.LogicError; +import org.eclipse.biscuit.token.builder.Block; import org.junit.jupiter.api.Test; public class BiscuitTest { @@ -177,7 +182,7 @@ public void testFolders() throws NoSuchAlgorithmException, Error { KeyPair root = KeyPair.generate(Schema.PublicKey.Algorithm.Ed25519, rng); - org.biscuitsec.biscuit.token.builder.Biscuit builder = Biscuit.builder(rng, root); + org.eclipse.biscuit.token.builder.Biscuit builder = Biscuit.builder(rng, root); builder.addRight("/folder1/file1", "read"); builder.addRight("/folder1/file1", "write"); @@ -289,7 +294,7 @@ public void testReset() throws Error { KeyPair root = KeyPair.generate(Schema.PublicKey.Algorithm.Ed25519, rng); - org.biscuitsec.biscuit.token.builder.Biscuit builder = Biscuit.builder(rng, root); + org.eclipse.biscuit.token.builder.Biscuit builder = Biscuit.builder(rng, root); builder.addRight("/folder1/file1", "read"); builder.addRight("/folder1/file1", "write"); @@ -364,7 +369,7 @@ public void testEmptyAuthorizer() throws Error { KeyPair root = KeyPair.generate(Schema.PublicKey.Algorithm.Ed25519, rng); - org.biscuitsec.biscuit.token.builder.Biscuit builder = Biscuit.builder(rng, root); + org.eclipse.biscuit.token.builder.Biscuit builder = Biscuit.builder(rng, root); builder.addRight("/folder1/file1", "read"); builder.addRight("/folder1/file1", "write"); @@ -537,8 +542,8 @@ public void testBasicWithNamespacesWithAddAuthorityFact() KeyPair root = KeyPair.generate(Schema.PublicKey.Algorithm.Ed25519, rng); - org.biscuitsec.biscuit.token.builder.Biscuit o = - new org.biscuitsec.biscuit.token.builder.Biscuit(rng, root); + org.eclipse.biscuit.token.builder.Biscuit o = + new org.eclipse.biscuit.token.builder.Biscuit(rng, root); o.addAuthorityFact("namespace:right(\"file1\",\"read\")"); o.addAuthorityFact("namespace:right(\"file1\",\"write\")"); o.addAuthorityFact("namespace:right(\"file2\",\"read\")"); diff --git a/src/test/java/org/biscuitsec/biscuit/token/ExampleTest.java b/src/test/java/org/eclipse/biscuit/token/ExampleTest.java similarity index 81% rename from src/test/java/org/biscuitsec/biscuit/token/ExampleTest.java rename to src/test/java/org/eclipse/biscuit/token/ExampleTest.java index f8fbb275..dc68774e 100644 --- a/src/test/java/org/biscuitsec/biscuit/token/ExampleTest.java +++ b/src/test/java/org/eclipse/biscuit/token/ExampleTest.java @@ -1,12 +1,17 @@ -package org.biscuitsec.biscuit.token; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token; import biscuit.format.schema.Schema; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.SignatureException; -import org.biscuitsec.biscuit.crypto.KeyPair; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.token.builder.Block; +import org.eclipse.biscuit.crypto.KeyPair; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.token.builder.Block; /* example code for the documentation at https://www.biscuitsec.org * if these functions change, please send a PR to update them at https://github.com/biscuit-auth/website diff --git a/src/test/java/org/biscuitsec/biscuit/token/KmsSignerExampleTest.java b/src/test/java/org/eclipse/biscuit/token/KmsSignerExampleTest.java similarity index 93% rename from src/test/java/org/biscuitsec/biscuit/token/KmsSignerExampleTest.java rename to src/test/java/org/eclipse/biscuit/token/KmsSignerExampleTest.java index 990ef580..2bfb6d5b 100644 --- a/src/test/java/org/biscuitsec/biscuit/token/KmsSignerExampleTest.java +++ b/src/test/java/org/eclipse/biscuit/token/KmsSignerExampleTest.java @@ -1,13 +1,18 @@ -package org.biscuitsec.biscuit.token; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import biscuit.format.schema.Schema.PublicKey.Algorithm; import java.io.ByteArrayInputStream; import java.io.IOException; -import org.biscuitsec.biscuit.crypto.PublicKey; -import org.biscuitsec.biscuit.crypto.Signer; -import org.biscuitsec.biscuit.error.Error; +import org.eclipse.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.crypto.Signer; +import org.eclipse.biscuit.error.Error; import org.bouncycastle.asn1.ASN1InputStream; import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo; import org.bouncycastle.asn1.x9.ECNamedCurveTable; diff --git a/src/test/java/org/biscuitsec/biscuit/token/SamplesTest.java b/src/test/java/org/eclipse/biscuit/token/SamplesTest.java similarity index 94% rename from src/test/java/org/biscuitsec/biscuit/token/SamplesTest.java rename to src/test/java/org/eclipse/biscuit/token/SamplesTest.java index cf2693b5..9edf8e8a 100644 --- a/src/test/java/org/biscuitsec/biscuit/token/SamplesTest.java +++ b/src/test/java/org/eclipse/biscuit/token/SamplesTest.java @@ -1,6 +1,11 @@ -package org.biscuitsec.biscuit.token; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ -import static org.biscuitsec.biscuit.token.Block.fromBytes; +package org.eclipse.biscuit.token; + +import static org.eclipse.biscuit.token.Block.fromBytes; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -27,15 +32,15 @@ import java.util.Objects; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.biscuitsec.biscuit.crypto.KeyPair; -import org.biscuitsec.biscuit.crypto.PublicKey; -import org.biscuitsec.biscuit.datalog.Rule; -import org.biscuitsec.biscuit.datalog.RunLimits; -import org.biscuitsec.biscuit.datalog.SymbolTable; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.token.builder.Check; -import org.biscuitsec.biscuit.token.builder.parser.Parser; -import org.biscuitsec.biscuit.token.format.SignedBlock; +import org.eclipse.biscuit.crypto.KeyPair; +import org.eclipse.biscuit.crypto.PublicKey; +import org.eclipse.biscuit.datalog.Rule; +import org.eclipse.biscuit.datalog.RunLimits; +import org.eclipse.biscuit.datalog.SymbolTable; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.token.builder.Check; +import org.eclipse.biscuit.token.builder.parser.Parser; +import org.eclipse.biscuit.token.format.SignedBlock; import org.junit.jupiter.api.DynamicTest; import org.junit.jupiter.api.TestFactory; @@ -80,7 +85,7 @@ Biscuit compareBlock( Option sampleToken, long sampleBlockIndex, Block sampleBlock, - org.biscuitsec.biscuit.token.Block tokenBlock, + org.eclipse.biscuit.token.Block tokenBlock, SymbolTable tokenSymbols) throws Error { Option sampleExternalKey = sampleBlock.getExternalKey(); @@ -88,8 +93,8 @@ Biscuit compareBlock( String sampleDatalog = sampleBlock.getCode().replace("\"", "\\\""); Either< - Map>, - org.biscuitsec.biscuit.token.builder.Block> + Map>, + org.eclipse.biscuit.token.builder.Block> outputSample = Parser.datalog(sampleBlockIndex, sampleDatalog); // the invalid block rule with unbound variable cannot be parsed @@ -99,8 +104,8 @@ Biscuit compareBlock( Biscuit newSampleToken; if (!sampleToken.isDefined()) { - org.biscuitsec.biscuit.token.builder.Biscuit builder = - new org.biscuitsec.biscuit.token.builder.Biscuit( + org.eclipse.biscuit.token.builder.Biscuit builder = + new org.eclipse.biscuit.token.builder.Biscuit( new SecureRandom(), root, Option.none(), outputSample.get()); newSampleToken = builder.build(); } else { @@ -108,7 +113,7 @@ Biscuit compareBlock( newSampleToken = s.attenuate(outputSample.get(), Schema.PublicKey.Algorithm.Ed25519); } - org.biscuitsec.biscuit.token.Block generatedSampleBlock; + org.eclipse.biscuit.token.Block generatedSampleBlock; if (!sampleToken.isDefined()) { generatedSampleBlock = newSampleToken.authority; } else { @@ -163,7 +168,7 @@ DynamicTest processTestcase( Biscuit token = Biscuit.fromBytes(data, publicKey); assertArrayEquals(token.serialize(), data); - List allBlocks = new ArrayList<>(); + List allBlocks = new ArrayList<>(); allBlocks.add(token.authority); allBlocks.addAll(token.blocks); @@ -173,7 +178,7 @@ DynamicTest processTestcase( System.out.println(Arrays.toString(serBlockAuthority)); System.out.println( Arrays.toString(token.serializedBiscuit.getAuthority().getBlock())); - org.biscuitsec.biscuit.token.Block deserBlockAuthority = + org.eclipse.biscuit.token.Block deserBlockAuthority = fromBytes(serBlockAuthority, token.authority.getExternalKey()).get(); assertEquals( token.authority.print(token.symbolTable), @@ -183,10 +188,10 @@ DynamicTest processTestcase( token.serializedBiscuit.getAuthority().getBlock())); for (int i = 0; i < token.blocks.size() - 1; i++) { - org.biscuitsec.biscuit.token.Block block = token.blocks.get(i); + org.eclipse.biscuit.token.Block block = token.blocks.get(i); SignedBlock signedBlock = token.serializedBiscuit.getBlocks().get(i); byte[] serBlock = block.toBytes().get(); - org.biscuitsec.biscuit.token.Block deserBlock = + org.eclipse.biscuit.token.Block deserBlock = fromBytes(serBlock, block.getExternalKey()).get(); assertEquals( block.print(token.symbolTable), diff --git a/src/test/java/org/biscuitsec/biscuit/token/ThirdPartyTest.java b/src/test/java/org/eclipse/biscuit/token/ThirdPartyTest.java similarity index 94% rename from src/test/java/org/biscuitsec/biscuit/token/ThirdPartyTest.java rename to src/test/java/org/eclipse/biscuit/token/ThirdPartyTest.java index 92621510..b68610b7 100644 --- a/src/test/java/org/biscuitsec/biscuit/token/ThirdPartyTest.java +++ b/src/test/java/org/eclipse/biscuit/token/ThirdPartyTest.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.token; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -10,12 +15,12 @@ import java.security.SignatureException; import java.time.Duration; import java.util.Arrays; -import org.biscuitsec.biscuit.crypto.KeyPair; -import org.biscuitsec.biscuit.datalog.RunLimits; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.error.FailedCheck; -import org.biscuitsec.biscuit.error.LogicError; -import org.biscuitsec.biscuit.token.builder.Block; +import org.eclipse.biscuit.crypto.KeyPair; +import org.eclipse.biscuit.datalog.RunLimits; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.error.FailedCheck; +import org.eclipse.biscuit.error.LogicError; +import org.eclipse.biscuit.token.builder.Block; import org.junit.jupiter.api.Test; public class ThirdPartyTest { @@ -112,7 +117,7 @@ public void testPublicKeyInterning() authorityBuilder.addCheck( "check if first(\"admin\") trusting ed25519/" + external1.getPublicKey().toHex()); - org.biscuitsec.biscuit.token.Block authorityBlock = authorityBuilder.build(); + org.eclipse.biscuit.token.Block authorityBlock = authorityBuilder.build(); System.out.println(authorityBlock); Biscuit b1 = Biscuit.make(rng, root, authorityBlock); System.out.println("TOKEN: " + b1.print()); diff --git a/src/test/java/org/biscuitsec/biscuit/token/UnverifiedBiscuitTest.java b/src/test/java/org/eclipse/biscuit/token/UnverifiedBiscuitTest.java similarity index 88% rename from src/test/java/org/biscuitsec/biscuit/token/UnverifiedBiscuitTest.java rename to src/test/java/org/eclipse/biscuit/token/UnverifiedBiscuitTest.java index 20c60b61..faf7a633 100644 --- a/src/test/java/org/biscuitsec/biscuit/token/UnverifiedBiscuitTest.java +++ b/src/test/java/org/eclipse/biscuit/token/UnverifiedBiscuitTest.java @@ -1,4 +1,9 @@ -package org.biscuitsec.biscuit.token; +/* + * Copyright (c) 2019 Geoffroy Couprie and Contributors to the Eclipse Foundation. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.eclipse.biscuit.token; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -11,13 +16,13 @@ import java.time.Duration; import java.util.Arrays; import java.util.List; -import org.biscuitsec.biscuit.crypto.KeyPair; -import org.biscuitsec.biscuit.datalog.RunLimits; -import org.biscuitsec.biscuit.error.Error; -import org.biscuitsec.biscuit.error.FailedCheck; -import org.biscuitsec.biscuit.error.LogicError; -import org.biscuitsec.biscuit.token.builder.Block; -import org.biscuitsec.biscuit.token.builder.Utils; +import org.eclipse.biscuit.crypto.KeyPair; +import org.eclipse.biscuit.datalog.RunLimits; +import org.eclipse.biscuit.error.Error; +import org.eclipse.biscuit.error.FailedCheck; +import org.eclipse.biscuit.error.LogicError; +import org.eclipse.biscuit.token.builder.Block; +import org.eclipse.biscuit.token.builder.Utils; import org.junit.jupiter.api.Test; public class UnverifiedBiscuitTest { @@ -34,7 +39,7 @@ public void testBasic() // org.biscuitsec.biscuit.token.builder.Block block0 = new // org.biscuitsec.biscuit.token.builder.Block(0); - org.biscuitsec.biscuit.token.builder.Biscuit block0 = Biscuit.builder(rng, keypair0); + org.eclipse.biscuit.token.builder.Biscuit block0 = Biscuit.builder(rng, keypair0); block0.addAuthorityFact(Utils.fact("right", List.of(Utils.str("file1"), Utils.str("read")))); block0.addAuthorityFact(Utils.fact("right", List.of(Utils.str("file2"), Utils.str("read")))); block0.addAuthorityFact(Utils.fact("right", List.of(Utils.str("file1"), Utils.str("write")))); @@ -57,7 +62,7 @@ public void testBasic() // SECOND BLOCK System.out.println("preparing the second block"); - org.biscuitsec.biscuit.token.builder.Block block1 = deser0.createBlock(); + Block block1 = deser0.createBlock(); block1.addCheck( Utils.check( Utils.rule(