1
0
mirror of https://github.com/matrix-org/matrix-authentication-service.git synced 2025-08-06 06:02:40 +03:00

Use re-exported wasmtime to avoid dependencies conflicts

This commit is contained in:
Quentin Gliech
2024-07-01 10:11:56 +02:00
parent 69ae7b77bc
commit 4bc425b415
3 changed files with 52 additions and 416 deletions

459
Cargo.lock generated
View File

@@ -711,15 +711,6 @@ dependencies = [
"zeroize",
]
[[package]]
name = "bincode"
version = "1.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
dependencies = [
"serde",
]
[[package]]
name = "bitflags"
version = "1.3.2"
@@ -1126,43 +1117,13 @@ dependencies = [
"libc",
]
[[package]]
name = "cranelift-bforest"
version = "0.107.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ebf72ceaf38f7d41194d0cf6748214d8ef7389167fe09aad80f87646dbfa325b"
dependencies = [
"cranelift-entity 0.107.2",
]
[[package]]
name = "cranelift-bforest"
version = "0.109.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b6b33d7e757a887989eb18b35712b2a67d96171ec3149d1bfb657b29b7b367c"
dependencies = [
"cranelift-entity 0.109.0",
]
[[package]]
name = "cranelift-codegen"
version = "0.107.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ee7fde5cd9173f00ce02c491ee9e306d64740f4b1a697946e0474f389999e13"
dependencies = [
"bumpalo",
"cranelift-bforest 0.107.2",
"cranelift-codegen-meta 0.107.2",
"cranelift-codegen-shared 0.107.2",
"cranelift-control 0.107.2",
"cranelift-entity 0.107.2",
"cranelift-isle 0.107.2",
"gimli",
"hashbrown 0.14.5",
"log",
"regalloc2",
"smallvec",
"target-lexicon",
"cranelift-entity",
]
[[package]]
@@ -1172,12 +1133,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9acf15cb22be42d07c3b57d7856329cb228b7315d385346149df2566ad5e4aa"
dependencies = [
"bumpalo",
"cranelift-bforest 0.109.0",
"cranelift-codegen-meta 0.109.0",
"cranelift-codegen-shared 0.109.0",
"cranelift-control 0.109.0",
"cranelift-entity 0.109.0",
"cranelift-isle 0.109.0",
"cranelift-bforest",
"cranelift-codegen-meta",
"cranelift-codegen-shared",
"cranelift-control",
"cranelift-entity",
"cranelift-isle",
"gimli",
"hashbrown 0.14.5",
"log",
@@ -1187,45 +1148,21 @@ dependencies = [
"target-lexicon",
]
[[package]]
name = "cranelift-codegen-meta"
version = "0.107.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b49bec6a517e78d4067500dc16acb558e772491a2bcb37301127448adfb8413c"
dependencies = [
"cranelift-codegen-shared 0.107.2",
]
[[package]]
name = "cranelift-codegen-meta"
version = "0.109.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e934d301392b73b3f8b0540391fb82465a0f179a3cee7c726482ac4727efcc97"
dependencies = [
"cranelift-codegen-shared 0.109.0",
"cranelift-codegen-shared",
]
[[package]]
name = "cranelift-codegen-shared"
version = "0.107.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ead4ea497b2dc2ac31fcabd6d5d0d5dc25b3964814122e343724bdf65a53c843"
[[package]]
name = "cranelift-codegen-shared"
version = "0.109.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8afb2a2566b3d54b854dfb288b3b187f6d3d17d6f762c92898207eba302931da"
[[package]]
name = "cranelift-control"
version = "0.107.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f81e8028c8d711ea7592648e70221f2e54acb8665f7ecd49545f021ec14c3341"
dependencies = [
"arbitrary",
]
[[package]]
name = "cranelift-control"
version = "0.109.0"
@@ -1235,16 +1172,6 @@ dependencies = [
"arbitrary",
]
[[package]]
name = "cranelift-entity"
version = "0.107.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32acd0632ba65c2566e75f64af9ef094bb8d90e58a9fbd33d920977a9d85c054"
dependencies = [
"serde",
"serde_derive",
]
[[package]]
name = "cranelift-entity"
version = "0.109.0"
@@ -1255,94 +1182,49 @@ dependencies = [
"serde_derive",
]
[[package]]
name = "cranelift-frontend"
version = "0.107.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a395a704934aa944ba8939cac9001174b9ae5236f48bc091f89e33bb968336f6"
dependencies = [
"cranelift-codegen 0.107.2",
"log",
"smallvec",
"target-lexicon",
]
[[package]]
name = "cranelift-frontend"
version = "0.109.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f74b84f16af2e982b0c0c72233503d9d55cbfe3865dbe807ca28dc6642a28b5"
dependencies = [
"cranelift-codegen 0.109.0",
"cranelift-codegen",
"log",
"smallvec",
"target-lexicon",
]
[[package]]
name = "cranelift-isle"
version = "0.107.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b325ce81c4ee7082dc894537eb342c37898e14230fe7c02ea945691db3e2dd01"
[[package]]
name = "cranelift-isle"
version = "0.109.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adf306d3dde705fb94bd48082f01d38c4ededc74293a4c007805f610bf08bc6e"
[[package]]
name = "cranelift-native"
version = "0.107.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea11f5ac85996fa093075d66397922d4f56085d5d84ec13043d0cd4f159c6818"
dependencies = [
"cranelift-codegen 0.107.2",
"libc",
"target-lexicon",
]
[[package]]
name = "cranelift-native"
version = "0.109.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ea0ebdef7aff4a79bcbc8b6495f31315f16b3bf311152f472eaa8d679352581"
dependencies = [
"cranelift-codegen 0.109.0",
"cranelift-codegen",
"libc",
"target-lexicon",
]
[[package]]
name = "cranelift-wasm"
version = "0.107.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e4f175d4e299a8edabfbd64fa93c7650836cc8ad7f4879f9bd2632575a1f12d0"
dependencies = [
"cranelift-codegen 0.107.2",
"cranelift-entity 0.107.2",
"cranelift-frontend 0.107.2",
"itertools",
"log",
"smallvec",
"wasmparser 0.202.0",
"wasmtime-types 20.0.2",
]
[[package]]
name = "cranelift-wasm"
version = "0.109.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d549108a1942065cdbac3bb96c2952afa0e1b9a3beff4b08c4308ac72257576d"
dependencies = [
"cranelift-codegen 0.109.0",
"cranelift-entity 0.109.0",
"cranelift-frontend 0.109.0",
"cranelift-codegen",
"cranelift-entity",
"cranelift-frontend",
"itertools",
"log",
"smallvec",
"wasmparser 0.209.1",
"wasmtime-types 22.0.0",
"wasmparser",
"wasmtime-types",
]
[[package]]
@@ -3575,7 +3457,6 @@ dependencies = [
"thiserror",
"tokio",
"tracing",
"wasmtime 20.0.2",
]
[[package]]
@@ -3982,18 +3863,6 @@ dependencies = [
"memchr",
]
[[package]]
name = "object"
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8dd6c0cdf9429bce006e1362bfce61fa1bfd8c898a643ed8d2b471934701d3d"
dependencies = [
"crc32fast",
"hashbrown 0.14.5",
"indexmap 2.2.6",
"memchr",
]
[[package]]
name = "object"
version = "0.36.1"
@@ -4043,7 +3912,7 @@ dependencies = [
"tokio",
"tracing",
"urlencoding",
"wasmtime 22.0.0",
"wasmtime",
]
[[package]]
@@ -6665,17 +6534,6 @@ dependencies = [
"leb128",
]
[[package]]
name = "wasmparser"
version = "0.202.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6998515d3cf3f8b980ef7c11b29a9b1017d4cf86b99ae93b546992df9931413"
dependencies = [
"bitflags 2.5.0",
"indexmap 2.2.6",
"semver",
]
[[package]]
name = "wasmparser"
version = "0.209.1"
@@ -6697,42 +6555,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ceca8ae6eaa8c7c87b33c25c53bdf299f8c2a764aee1179402ff7652ef3a6859"
dependencies = [
"anyhow",
"wasmparser 0.209.1",
]
[[package]]
name = "wasmtime"
version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4af5cb32045daee8476711eb12b8b71275c2dd1fc7a58cc2a11b33ce9205f6a2"
dependencies = [
"anyhow",
"async-trait",
"bincode",
"bumpalo",
"cfg-if",
"gimli",
"indexmap 2.2.6",
"libc",
"log",
"object 0.33.0",
"once_cell",
"paste",
"rayon",
"rustix 0.38.34",
"serde",
"serde_derive",
"serde_json",
"target-lexicon",
"wasmparser 0.202.0",
"wasmtime-component-macro 20.0.2",
"wasmtime-cranelift 20.0.2",
"wasmtime-environ 20.0.2",
"wasmtime-fiber 20.0.2",
"wasmtime-jit-icache-coherence 20.0.2",
"wasmtime-runtime",
"wasmtime-slab 20.0.2",
"windows-sys 0.52.0",
"wasmparser",
]
[[package]]
@@ -6766,27 +6589,18 @@ dependencies = [
"smallvec",
"sptr",
"target-lexicon",
"wasmparser 0.209.1",
"wasmtime-asm-macros 22.0.0",
"wasmtime-component-macro 22.0.0",
"wasmtime-cranelift 22.0.0",
"wasmtime-environ 22.0.0",
"wasmtime-fiber 22.0.0",
"wasmtime-jit-icache-coherence 22.0.0",
"wasmtime-slab 22.0.0",
"wasmtime-versioned-export-macros 22.0.0",
"wasmparser",
"wasmtime-asm-macros",
"wasmtime-component-macro",
"wasmtime-cranelift",
"wasmtime-environ",
"wasmtime-fiber",
"wasmtime-jit-icache-coherence",
"wasmtime-slab",
"wasmtime-versioned-export-macros",
"windows-sys 0.52.0",
]
[[package]]
name = "wasmtime-asm-macros"
version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7515c4d24c8b55c0feab67e3d52a42f999fda8b9cfafbd69a82ed6bcf299d26e"
dependencies = [
"cfg-if",
]
[[package]]
name = "wasmtime-asm-macros"
version = "22.0.0"
@@ -6796,21 +6610,6 @@ dependencies = [
"cfg-if",
]
[[package]]
name = "wasmtime-component-macro"
version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "794839a710a39a12677c67ff43fec54ef00d0ca6c6f631209a7c5524522221d3"
dependencies = [
"anyhow",
"proc-macro2",
"quote",
"syn 2.0.60",
"wasmtime-component-util 20.0.2",
"wasmtime-wit-bindgen 20.0.2",
"wit-parser 0.202.0",
]
[[package]]
name = "wasmtime-component-macro"
version = "22.0.0"
@@ -6821,47 +6620,17 @@ dependencies = [
"proc-macro2",
"quote",
"syn 2.0.60",
"wasmtime-component-util 22.0.0",
"wasmtime-wit-bindgen 22.0.0",
"wit-parser 0.209.1",
"wasmtime-component-util",
"wasmtime-wit-bindgen",
"wit-parser",
]
[[package]]
name = "wasmtime-component-util"
version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7839a1b9e15d17be1cb2a105f18be8e0bbf52bdec7a7cd6eb5d80d4c2cdf74f0"
[[package]]
name = "wasmtime-component-util"
version = "22.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9d2912c53d9054984b380dfbd7579f9c3681b2a73b903a56bd71a1c4f175f1e"
[[package]]
name = "wasmtime-cranelift"
version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57ec2d9a4b9990bea53a5dfd689d48663dbd19a46903eaf73e2022b3d1ef20d3"
dependencies = [
"anyhow",
"cfg-if",
"cranelift-codegen 0.107.2",
"cranelift-control 0.107.2",
"cranelift-entity 0.107.2",
"cranelift-frontend 0.107.2",
"cranelift-native 0.107.2",
"cranelift-wasm 0.107.2",
"gimli",
"log",
"object 0.33.0",
"target-lexicon",
"thiserror",
"wasmparser 0.202.0",
"wasmtime-environ 20.0.2",
"wasmtime-versioned-export-macros 20.0.2",
]
[[package]]
name = "wasmtime-cranelift"
version = "22.0.0"
@@ -6870,41 +6639,20 @@ checksum = "a3975deafea000457ba84355c7c0fce0372937204f77026510b7b454f28a3a65"
dependencies = [
"anyhow",
"cfg-if",
"cranelift-codegen 0.109.0",
"cranelift-control 0.109.0",
"cranelift-entity 0.109.0",
"cranelift-frontend 0.109.0",
"cranelift-native 0.109.0",
"cranelift-wasm 0.109.0",
"cranelift-codegen",
"cranelift-control",
"cranelift-entity",
"cranelift-frontend",
"cranelift-native",
"cranelift-wasm",
"gimli",
"log",
"object 0.36.1",
"target-lexicon",
"thiserror",
"wasmparser 0.209.1",
"wasmtime-environ 22.0.0",
"wasmtime-versioned-export-macros 22.0.0",
]
[[package]]
name = "wasmtime-environ"
version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad72e2e3f7ea5b50fedf66dd36ba24634e4f445c370644683b433d45d88f6126"
dependencies = [
"anyhow",
"bincode",
"cranelift-entity 0.107.2",
"gimli",
"indexmap 2.2.6",
"log",
"object 0.33.0",
"serde",
"serde_derive",
"target-lexicon",
"thiserror",
"wasmparser 0.202.0",
"wasmtime-types 20.0.2",
"wasmparser",
"wasmtime-environ",
"wasmtime-versioned-export-macros",
]
[[package]]
@@ -6914,7 +6662,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f444e900e848b884d8a8a2949b6f5b92af642a3e663ff8fbe78731143a55be61"
dependencies = [
"anyhow",
"cranelift-entity 0.109.0",
"cranelift-entity",
"gimli",
"indexmap 2.2.6",
"log",
@@ -6924,24 +6672,9 @@ dependencies = [
"serde_derive",
"target-lexicon",
"wasm-encoder",
"wasmparser 0.209.1",
"wasmparser",
"wasmprinter",
"wasmtime-types 22.0.0",
]
[[package]]
name = "wasmtime-fiber"
version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4dbdf3053e7e7ced0cd4ed76579995b62169a1a43696890584eae2de2e33bf54"
dependencies = [
"anyhow",
"cc",
"cfg-if",
"rustix 0.38.34",
"wasmtime-asm-macros 20.0.2",
"wasmtime-versioned-export-macros 20.0.2",
"windows-sys 0.52.0",
"wasmtime-types",
]
[[package]]
@@ -6954,19 +6687,8 @@ dependencies = [
"cc",
"cfg-if",
"rustix 0.38.34",
"wasmtime-asm-macros 22.0.0",
"wasmtime-versioned-export-macros 22.0.0",
"windows-sys 0.52.0",
]
[[package]]
name = "wasmtime-jit-icache-coherence"
version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ede45379f3b4d395d8947006de8043801806099a240a26db553919b68e96ab15"
dependencies = [
"cfg-if",
"libc",
"wasmtime-asm-macros",
"wasmtime-versioned-export-macros",
"windows-sys 0.52.0",
]
@@ -6982,80 +6704,23 @@ dependencies = [
"windows-sys 0.52.0",
]
[[package]]
name = "wasmtime-runtime"
version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "65019d29d175c567b84173f2adf3b7a3af6d5592f8fe510dccae55d2569ec0d2"
dependencies = [
"anyhow",
"cc",
"cfg-if",
"indexmap 2.2.6",
"libc",
"log",
"mach2",
"memfd",
"memoffset",
"paste",
"psm",
"rustix 0.38.34",
"sptr",
"wasmtime-asm-macros 20.0.2",
"wasmtime-environ 20.0.2",
"wasmtime-fiber 20.0.2",
"wasmtime-slab 20.0.2",
"wasmtime-versioned-export-macros 20.0.2",
"windows-sys 0.52.0",
]
[[package]]
name = "wasmtime-slab"
version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca6585868f5c427c3e9d2a8c0c3354e6d7d4518a0d17723ab25a0c1eebf5d5b4"
[[package]]
name = "wasmtime-slab"
version = "22.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a7de1f2bec5bbb35d532e61c85c049dc84ae671df60492f90b954ecf21169e7"
[[package]]
name = "wasmtime-types"
version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84d5381ff174faded38c7b2085fbe430dff59489c87a91403354d710075750fb"
dependencies = [
"cranelift-entity 0.107.2",
"serde",
"serde_derive",
"thiserror",
"wasmparser 0.202.0",
]
[[package]]
name = "wasmtime-types"
version = "22.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "412463e9000e14cf6856be48628d2213c20c153e29ffc22b036980c892ea6964"
dependencies = [
"cranelift-entity 0.109.0",
"cranelift-entity",
"serde",
"serde_derive",
"smallvec",
"wasmparser 0.209.1",
]
[[package]]
name = "wasmtime-versioned-export-macros"
version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d3b70422fdfa915c903f003b8b42554a8ae1aa0c6208429d8314ebf5721f3ac"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.60",
"wasmparser",
]
[[package]]
@@ -7069,18 +6734,6 @@ dependencies = [
"syn 2.0.60",
]
[[package]]
name = "wasmtime-wit-bindgen"
version = "20.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01840c0cfbbb01664c796e3f4edbd656e58f9d76db083c7e7c6bba59ea657a96"
dependencies = [
"anyhow",
"heck 0.4.1",
"indexmap 2.2.6",
"wit-parser 0.202.0",
]
[[package]]
name = "wasmtime-wit-bindgen"
version = "22.0.0"
@@ -7090,7 +6743,7 @@ dependencies = [
"anyhow",
"heck 0.4.1",
"indexmap 2.2.6",
"wit-parser 0.209.1",
"wit-parser",
]
[[package]]
@@ -7359,24 +7012,6 @@ dependencies = [
"url",
]
[[package]]
name = "wit-parser"
version = "0.202.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "744237b488352f4f27bca05a10acb79474415951c450e52ebd0da784c1df2bcc"
dependencies = [
"anyhow",
"id-arena",
"indexmap 2.2.6",
"log",
"semver",
"serde",
"serde_derive",
"serde_json",
"unicode-xid",
"wasmparser 0.202.0",
]
[[package]]
name = "wit-parser"
version = "0.209.1"
@@ -7392,7 +7027,7 @@ dependencies = [
"serde_derive",
"serde_json",
"unicode-xid",
"wasmparser 0.209.1",
"wasmparser",
]
[[package]]

View File

@@ -20,7 +20,6 @@ schemars = { workspace = true, optional = true }
thiserror.workspace = true
tokio.workspace = true
tracing.workspace = true
wasmtime = { version = "20.0.2", default-features = false, features = ["async", "cranelift", "parallel-compilation"] }
mas-data-model.workspace = true
oauth2-types.workspace = true

View File

@@ -16,10 +16,12 @@ pub mod model;
use mas_data_model::{AuthorizationGrant, Client, DeviceCodeGrant, User};
use oauth2_types::{registration::VerifiedClientMetadata, scope::Scope};
use opa_wasm::Runtime;
use opa_wasm::{
wasmtime::{Config, Engine, Module, OptLevel, Store},
Runtime,
};
use thiserror::Error;
use tokio::io::{AsyncRead, AsyncReadExt};
use wasmtime::{Config, Engine, Module, Store};
use self::model::{
AuthorizationGrantInput, ClientRegistrationInput, EmailInput, PasswordInput, RegisterInput,
@@ -95,7 +97,7 @@ impl PolicyFactory {
) -> Result<Self, LoadError> {
let mut config = Config::default();
config.async_support(true);
config.cranelift_opt_level(wasmtime::OptLevel::SpeedAndSize);
config.cranelift_opt_level(OptLevel::SpeedAndSize);
let engine = Engine::new(&config).map_err(LoadError::Engine)?;