mirror of
https://github.com/Pumpkin-MC/Pumpkin.git
synced 2026-08-30 20:14:23 +00:00
chore(plugins): Update to Wasmtime 48.0.1 (#3155)
This commit is contained in:
326
Cargo.lock
generated
326
Cargo.lock
generated
@@ -40,13 +40,13 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "aes"
|
name = "aes"
|
||||||
version = "0.9.2"
|
version = "0.9.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f8eb277bec05f56a0e0591f155a484cbd0f4f07ff2905051a48c72f004f7ed58"
|
checksum = "35f0f96ce78e38c3dc6d8948aa8163d06385be74000f3c7a95bf1eef35d3ea32"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cipher 0.5.2",
|
"cipher 0.5.2",
|
||||||
"cpubits",
|
"cpubits",
|
||||||
"cpufeatures 0.3.0",
|
"cpufeatures 0.3.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -606,12 +606,12 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "chacha20"
|
name = "chacha20"
|
||||||
version = "0.10.1"
|
version = "0.10.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81"
|
checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"cpufeatures 0.3.0",
|
"cpufeatures 0.3.1",
|
||||||
"rand_core 0.10.1",
|
"rand_core 0.10.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -858,36 +858,36 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cpufeatures"
|
name = "cpufeatures"
|
||||||
version = "0.3.0"
|
version = "0.3.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201"
|
checksum = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cranelift-assembler-x64"
|
name = "cranelift-assembler-x64"
|
||||||
version = "0.134.4"
|
version = "0.135.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "16c273ba1bfc3a1cb27cb4f83df27134f3cb638a61f5ed79ab22cf86eb13da0d"
|
checksum = "9903e767cc0a95a59950de099a6b1d61e1476f774be1cdfa06d7ccdc9bfae56f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cranelift-assembler-x64-meta",
|
"cranelift-assembler-x64-meta",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cranelift-assembler-x64-meta"
|
name = "cranelift-assembler-x64-meta"
|
||||||
version = "0.134.4"
|
version = "0.135.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "cbf8909326a466739e83ffe11e74c0c8c6b4bfa911b612aece915daa746cff58"
|
checksum = "e777252ea3ec9daffa71408fbfe0793ab0a7b7bc3b2cf0f417dd0fa33964b8ef"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cranelift-srcgen",
|
"cranelift-srcgen",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cranelift-bforest"
|
name = "cranelift-bforest"
|
||||||
version = "0.134.4"
|
version = "0.135.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3cb26b06b54d8b2f8cdf4d440a32fc3b3b91c71c162333a69a70a66fa265fc45"
|
checksum = "7828208a36e6627481cea61bd24c6234e31411d5c58b48e80ca094a1d593b944"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cranelift-entity",
|
"cranelift-entity",
|
||||||
"wasmtime-internal-core",
|
"wasmtime-internal-core",
|
||||||
@@ -895,9 +895,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cranelift-bitset"
|
name = "cranelift-bitset"
|
||||||
version = "0.134.4"
|
version = "0.135.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7ce4e57dbb7f73d08011808a19787c3a03c3e7854b2a479ed0b788915fb671be"
|
checksum = "a58c8447cc59ef98c49096679f81392ad0acec2224cea2bef52011f5169f9d02"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
"serde_derive",
|
"serde_derive",
|
||||||
@@ -906,9 +906,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cranelift-codegen"
|
name = "cranelift-codegen"
|
||||||
version = "0.134.4"
|
version = "0.135.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "74b0a8968f33d0bc13bc86fe70dd3947e93acc9f358ed9848e9988448972a9be"
|
checksum = "ce520e899df1de583e7b564eafd66760fbc147d72894d2278ddac57a1489fcc0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bumpalo",
|
"bumpalo",
|
||||||
"cranelift-assembler-x64",
|
"cranelift-assembler-x64",
|
||||||
@@ -937,9 +937,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cranelift-codegen-meta"
|
name = "cranelift-codegen-meta"
|
||||||
version = "0.134.4"
|
version = "0.135.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f69e8e2fe9deb48ef7b8d0c61612f8c1e2277d0421c201e30a4c844a4ebac698"
|
checksum = "8d8ab23e63d78ea6bbda18ae1ed9c958bc1cb88d90fb5e95f5ba62e9c019474b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cranelift-assembler-x64-meta",
|
"cranelift-assembler-x64-meta",
|
||||||
"cranelift-codegen-shared",
|
"cranelift-codegen-shared",
|
||||||
@@ -950,24 +950,24 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cranelift-codegen-shared"
|
name = "cranelift-codegen-shared"
|
||||||
version = "0.134.4"
|
version = "0.135.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ad4db1e87a65e9c5a832e3ede160830d4e34df938ac38b5604819f8825687e73"
|
checksum = "24319a996b1ef40ebf8af69b39c868c790b35a42cfe38edacfd8c9deb75ea712"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cranelift-control"
|
name = "cranelift-control"
|
||||||
version = "0.134.4"
|
version = "0.135.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9248cd37bb6ec460981f57ead368e32b1eca7a207ad50e3e9c7adc3b161f20e9"
|
checksum = "cf9856d68cc2cefb83229cb2c55b620dd38427555c2fe87d73f8a4421616f628"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arbitrary",
|
"arbitrary",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cranelift-entity"
|
name = "cranelift-entity"
|
||||||
version = "0.134.4"
|
version = "0.135.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "26b8bc91c0a3530d132acbf118965dabe9a084029eb0fa74b64760360dec3316"
|
checksum = "e0ec225d6b79c5d61358cb5ea081a1384ec541dbf8c1a8c618d187875af326ad"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cranelift-bitset",
|
"cranelift-bitset",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -977,9 +977,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cranelift-frontend"
|
name = "cranelift-frontend"
|
||||||
version = "0.134.4"
|
version = "0.135.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5086f2ebc084a98b387e522680f62ef65a512444d8382151e03088716d3a1714"
|
checksum = "7d3a96a09bd9bd3cf6df2de2ea15d7418f493e946a8eaa1acfe39297a67ed3f3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cranelift-codegen",
|
"cranelift-codegen",
|
||||||
"hashbrown 0.17.1",
|
"hashbrown 0.17.1",
|
||||||
@@ -990,15 +990,15 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cranelift-isle"
|
name = "cranelift-isle"
|
||||||
version = "0.134.4"
|
version = "0.135.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b6a658670f779afc2df083be201ebe54805f69b7b9ffa8dab04142b72ed751c9"
|
checksum = "bd28f593c36afbdc9aa17305c0bb66c39ce0530e1caffcf389fbec053950083e"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cranelift-native"
|
name = "cranelift-native"
|
||||||
version = "0.134.4"
|
version = "0.135.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "16a41083b1fd953debd6f32d21fcda765b258f323ce907fdd6b4715f2769c478"
|
checksum = "2987ca47affc261aa31ac643fb80dd7f8274cebf878003ba9f50cd6ff2c1055f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cranelift-codegen",
|
"cranelift-codegen",
|
||||||
"libc",
|
"libc",
|
||||||
@@ -1007,9 +1007,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cranelift-srcgen"
|
name = "cranelift-srcgen"
|
||||||
version = "0.134.4"
|
version = "0.135.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "244d9cd0759b0a3ccdd587cafb13434f9ea43b5c9d07701d277daf5cd0f7b7c1"
|
checksum = "b7431dd8c9def94aca43b27915dee0d42103d9b13922cfb044febcd975547d68"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "crc"
|
name = "crc"
|
||||||
@@ -1258,7 +1258,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "b5eed333089e2e1c1ac8c6c0398e5e2497b4c9926ca6d0365ed1e099afa5bc23"
|
checksum = "b5eed333089e2e1c1ac8c6c0398e5e2497b4c9926ca6d0365ed1e099afa5bc23"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"cpufeatures 0.3.0",
|
"cpufeatures 0.3.1",
|
||||||
"curve25519-dalek-derive",
|
"curve25519-dalek-derive",
|
||||||
"digest 0.11.3",
|
"digest 0.11.3",
|
||||||
"fiat-crypto 0.3.0",
|
"fiat-crypto 0.3.0",
|
||||||
@@ -2042,9 +2042,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hyper"
|
name = "hyper"
|
||||||
version = "1.11.0"
|
version = "1.11.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d22053281f852e11534f5198498373cbb59295120a20771d90f7ed1897490a72"
|
checksum = "27b501faa50e7a26c3d3560ca625132f4078a17771f4810baf70475ae48cbe43"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"atomic-waker",
|
"atomic-waker",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -2239,9 +2239,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "indexmap"
|
name = "indexmap"
|
||||||
version = "2.14.0"
|
version = "2.14.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9"
|
checksum = "07aa2048142242915a31d35844fb311e0e53fcca590c3a0a40dcf1b841fa09eb"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"equivalent",
|
"equivalent",
|
||||||
"hashbrown 0.17.1",
|
"hashbrown 0.17.1",
|
||||||
@@ -2432,9 +2432,9 @@ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libredox"
|
name = "libredox"
|
||||||
version = "0.1.20"
|
version = "0.1.21"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "28d0a00925a9f930d679b6789b721e3a7f9ed110f41b86d2497caa780c3a070a"
|
checksum = "d7955dfc218a8afb29dfeffd540e3a6e96baeb94fe7138228dd7cc6937fbbf96"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
]
|
]
|
||||||
@@ -2931,11 +2931,11 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pem"
|
name = "pem"
|
||||||
version = "3.0.6"
|
version = "4.0.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be"
|
checksum = "d354a98a3d1251555de99e8fdd8afda05573c31b82f59063a7b0a29b5527f120"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.22.1",
|
"base64 0.23.1",
|
||||||
"serde_core",
|
"serde_core",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -3271,9 +3271,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pulley-interpreter"
|
name = "pulley-interpreter"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ed2bd641cb6a3ec5bffe60405568933163e0ea619da0943e9d2a417ceaa7fe82"
|
checksum = "f755d75e0809a4738a3e4880eeeb852fadbe1de5a437505b84f09c381657012a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cranelift-bitset",
|
"cranelift-bitset",
|
||||||
"log",
|
"log",
|
||||||
@@ -3283,9 +3283,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pulley-macros"
|
name = "pulley-macros"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d3fd4024d1e559eaf5579bc8ad84a2b5915f34b47acc13a06ffba7dac401b166"
|
checksum = "c7e69fa1c4a555946f82e7894a7df88b0e9ee03b4266829b4811467c616ce51d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
@@ -3296,7 +3296,7 @@ dependencies = [
|
|||||||
name = "pumpkin"
|
name = "pumpkin"
|
||||||
version = "0.1.0-dev+26.2-26.40"
|
version = "0.1.0-dev+26.2-26.40"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes 0.9.2",
|
"aes 0.9.3",
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"axum",
|
"axum",
|
||||||
@@ -3352,7 +3352,7 @@ dependencies = [
|
|||||||
"tracing-subscriber",
|
"tracing-subscriber",
|
||||||
"uuid",
|
"uuid",
|
||||||
"wasm-encoder 0.257.1",
|
"wasm-encoder 0.257.1",
|
||||||
"wasmparser 0.257.1",
|
"wasmparser 0.258.0",
|
||||||
"wasmtime",
|
"wasmtime",
|
||||||
"wasmtime-wasi",
|
"wasmtime-wasi",
|
||||||
"wasmtime-wasi-http",
|
"wasmtime-wasi-http",
|
||||||
@@ -3500,7 +3500,7 @@ dependencies = [
|
|||||||
name = "pumpkin-protocol"
|
name = "pumpkin-protocol"
|
||||||
version = "0.1.0-dev+26.2-26.40"
|
version = "0.1.0-dev+26.2-26.40"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes 0.9.2",
|
"aes 0.9.3",
|
||||||
"async-compression",
|
"async-compression",
|
||||||
"bitflags 2.13.1",
|
"bitflags 2.13.1",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -3690,7 +3690,7 @@ version = "0.10.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80"
|
checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"chacha20 0.10.1",
|
"chacha20 0.10.2",
|
||||||
"getrandom 0.4.3",
|
"getrandom 0.4.3",
|
||||||
"rand_core 0.10.1",
|
"rand_core 0.10.1",
|
||||||
]
|
]
|
||||||
@@ -3741,9 +3741,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rcgen"
|
name = "rcgen"
|
||||||
version = "0.14.9"
|
version = "0.14.10"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "091e7a8e7d86e6feb87a27ce8e2cba29d49eff9507afeebefab7eeb2ca667fb4"
|
checksum = "8774e05a7d0de114588e6a28fe7e71694b82614ed569d86d8b389dfbc98b8ad8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"pem",
|
"pem",
|
||||||
"ring",
|
"ring",
|
||||||
@@ -3951,9 +3951,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rtc"
|
name = "rtc"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e55da8e478486106f04db1ccba177ae3260fb12899982cd5cddf2ac0e1cdcfe9"
|
checksum = "c9005c36795ad076abd36db3ea9ae0275a60395944647d58c1f2bc3e118dddba"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"hex",
|
"hex",
|
||||||
@@ -3986,9 +3986,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rtc-datachannel"
|
name = "rtc-datachannel"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7bef39b017b5cf0a3511eab456505556b320e0aa04d4547b015ecba9f844fe43"
|
checksum = "14b61c7b8e9892094cba8a6c7fb8120ae863d32d432b00e560177b3d7ae6d2c6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"log",
|
"log",
|
||||||
@@ -3999,9 +3999,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rtc-dtls"
|
name = "rtc-dtls"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "03a1be8a58a72a257c233ad9a2f92130c15994e02f7a1981379fdebbe0d8761a"
|
checksum = "c737b1dd17a0ff63884a2f466b9588f0cffadfce5a724c0c368764d7c27f9c74"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes 0.8.4",
|
"aes 0.8.4",
|
||||||
"bytecheck",
|
"bytecheck",
|
||||||
@@ -4032,9 +4032,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rtc-ice"
|
name = "rtc-ice"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "640c7ecb9a09d21c0d4ba27b3ff22adb07cce90d23a7bce7c82bcbe424844e31"
|
checksum = "2c06eeabd250a7693e1e8b28222b78c4a81a7c6ca7fe3cb99bbdff2f6c0ff0ab"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"crc",
|
"crc",
|
||||||
@@ -4051,9 +4051,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rtc-interceptor"
|
name = "rtc-interceptor"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9436633af4a6beff6fee08c99464012017fcd1e0a4c0559b1f0d733e8812217a"
|
checksum = "9ec2776ab86c0c03c3de8ec742aa13ccc3b2c82317590d0624f251bd37eae3b9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"rand",
|
"rand",
|
||||||
@@ -4066,9 +4066,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rtc-interceptor-derive"
|
name = "rtc-interceptor-derive"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3563dafffb11e99264cbfa87c45d806c349c701a96ea3cf3c4778ae3c5da63b4"
|
checksum = "fc31da3875839bc18e00997354a582e6decacdb23d39f8c004fc4fe2fd3fcd8b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
@@ -4077,9 +4077,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rtc-mdns"
|
name = "rtc-mdns"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e4db343dbcd1445783ac9f832e350775e4e655b2c890bead7d13dca1219e0ac5"
|
checksum = "28cd53120b83321c8b8310cce9512c685d2d6356acef34647a99ea420e6f2249"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"log",
|
"log",
|
||||||
@@ -4090,9 +4090,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rtc-media"
|
name = "rtc-media"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "709a571ed5d88854f3f8c0b92e4a445d77ee54fd33dd45f9297a3d91e3e96d67"
|
checksum = "e0411e44fcdc1363487ae0c6a4612ec908b9b09175d05499c5de0b3c81f0b5e5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder",
|
"byteorder",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -4104,9 +4104,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rtc-rtcp"
|
name = "rtc-rtcp"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8817201df4a87008528804073d2dddfefd08eecb44afe6f6d61f7fb1beed72d0"
|
checksum = "fceaadac17b114140368dd68478d186ccfc293970f79cb8dd28f94dbbc0300be"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"rtc-shared",
|
"rtc-shared",
|
||||||
@@ -4114,9 +4114,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rtc-rtp"
|
name = "rtc-rtp"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b2aa84012c4a3d855586878e9f891af5062bd5690278b2c54bfcfb0a0ddd9098"
|
checksum = "babb45ac2263340e2bb412d1921aa07ca441ae9b5589477221d1a50d98750ba3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"memchr",
|
"memchr",
|
||||||
@@ -4127,9 +4127,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rtc-sctp"
|
name = "rtc-sctp"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "78317cf685b6cde3dbd1cd8e7c9f373e74f00dce00000a25c14c6ddb3378da86"
|
checksum = "2513391b524b88b041277faba617e0531ad726729861ea8933015393fd68ab05"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"crc32c",
|
"crc32c",
|
||||||
@@ -4143,9 +4143,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rtc-sdp"
|
name = "rtc-sdp"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "54ab04410496c8ea47350490298fb135f5432f8fa1aa88edf5dadc81c855a324"
|
checksum = "42d136a422965289e3d32d8e110789d8fa2ac669a4474a4084fa1eeac32758ee"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"rand",
|
"rand",
|
||||||
"rtc-shared",
|
"rtc-shared",
|
||||||
@@ -4154,9 +4154,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rtc-shared"
|
name = "rtc-shared"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "dae32667b8c9f15223172ce27471e02791e2b401de559b3ea02a6ec93ff280e0"
|
checksum = "1ce81c72adbce3a2f2ad8e2b97674d2482be83cb3bfd9a153341b04b1a87ca24"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes 0.8.4",
|
"aes 0.8.4",
|
||||||
"aes-gcm",
|
"aes-gcm",
|
||||||
@@ -4176,9 +4176,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rtc-srtp"
|
name = "rtc-srtp"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "413d48daef797c98c12ff91988abac36d44c81974f0a4b0658549174230819cd"
|
checksum = "4b880d5f6d436b3215c7bcfd3fb5ffe2a752fea0236440ccd98b6bf1c3561df8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes 0.8.4",
|
"aes 0.8.4",
|
||||||
"byteorder",
|
"byteorder",
|
||||||
@@ -4195,9 +4195,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rtc-stun"
|
name = "rtc-stun"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e4b4540b2b8ff7155ef9e95a3b492a7830e974e2fa9ce4b76ec315c4a6b4953d"
|
checksum = "06b19c36a200df6071b92a25583a19ab0f9c6d5ad036d8c3ff5d392802cc926e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -4214,9 +4214,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rtc-turn"
|
name = "rtc-turn"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "449365ff0b87488d5f9532409813e76e1f0f5965ef31ce6fcde9aa786c852c6c"
|
checksum = "ebf0b5fbb94085c86be7277c38ae8f1c21ec75ab47ba975be0984409732020dd"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"log",
|
"log",
|
||||||
@@ -4524,7 +4524,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214"
|
checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"cpufeatures 0.3.0",
|
"cpufeatures 0.3.1",
|
||||||
"digest 0.11.3",
|
"digest 0.11.3",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -4546,7 +4546,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4"
|
checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"cpufeatures 0.3.0",
|
"cpufeatures 0.3.1",
|
||||||
"digest 0.11.3",
|
"digest 0.11.3",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -5384,12 +5384,12 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasm-encoder"
|
name = "wasm-encoder"
|
||||||
version = "0.252.0"
|
version = "0.254.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8185ae345fa5687c054626ff9a50e7089797a343d9904d1dc9820eb4c4d3196f"
|
checksum = "09480d646178e5fdd12bb06e812d0af9a3a191dbc9cd697fdc86687beade7393"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"leb128fmt",
|
"leb128fmt",
|
||||||
"wasmparser 0.252.0",
|
"wasmparser 0.254.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -5412,6 +5412,18 @@ dependencies = [
|
|||||||
"wasmparser 0.258.0",
|
"wasmparser 0.258.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasm-metadata"
|
||||||
|
version = "0.254.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b01df5f3b4ca7881e843f3bc0fb8a3905d79c68692250dcb8e33e698705ccdb6"
|
||||||
|
dependencies = [
|
||||||
|
"anyhow",
|
||||||
|
"indexmap",
|
||||||
|
"wasm-encoder 0.254.0",
|
||||||
|
"wasmparser 0.254.0",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasm-metadata"
|
name = "wasm-metadata"
|
||||||
version = "0.258.0"
|
version = "0.258.0"
|
||||||
@@ -5426,9 +5438,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmparser"
|
name = "wasmparser"
|
||||||
version = "0.252.0"
|
version = "0.254.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d3eb099dcadcde5be9eef55e3a337128efd4e44b4c93122487e4d2e4e1c6627c"
|
checksum = "d5769a29f799fbab136aaf65b4fe5384cd7d93fe6fc9ba0dcb6c8382a1f16e27"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.13.1",
|
"bitflags 2.13.1",
|
||||||
"hashbrown 0.17.1",
|
"hashbrown 0.17.1",
|
||||||
@@ -5462,20 +5474,20 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmprinter"
|
name = "wasmprinter"
|
||||||
version = "0.252.0"
|
version = "0.254.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7142797de29b35ab8dbf15c00f55fda75d409da4c423a8ab8bd6b667a785824b"
|
checksum = "64e3ba11e024f504698f87b629b2b66c22a1231758de7607754963f7d198be39"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"termcolor",
|
"termcolor",
|
||||||
"wasmparser 0.252.0",
|
"wasmparser 0.254.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmtime"
|
name = "wasmtime"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4cdaf5b8af5713146e3a62d940c71e3eb2ad1ebacfa6b55f0c8509a5b4b87718"
|
checksum = "1bd39f78fe9bc82cee4025ec9d52118269e9a1498016cc60119b14f2e1d86a8d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"addr2line",
|
"addr2line",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@@ -5483,7 +5495,6 @@ dependencies = [
|
|||||||
"bumpalo",
|
"bumpalo",
|
||||||
"bytes",
|
"bytes",
|
||||||
"cc",
|
"cc",
|
||||||
"cfg-if",
|
|
||||||
"encoding_rs",
|
"encoding_rs",
|
||||||
"futures",
|
"futures",
|
||||||
"libc",
|
"libc",
|
||||||
@@ -5500,7 +5511,7 @@ dependencies = [
|
|||||||
"serde_derive",
|
"serde_derive",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"target-lexicon",
|
"target-lexicon",
|
||||||
"wasmparser 0.252.0",
|
"wasmparser 0.254.0",
|
||||||
"wasmtime-environ",
|
"wasmtime-environ",
|
||||||
"wasmtime-internal-cache",
|
"wasmtime-internal-cache",
|
||||||
"wasmtime-internal-component-macro",
|
"wasmtime-internal-component-macro",
|
||||||
@@ -5517,9 +5528,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmtime-environ"
|
name = "wasmtime-environ"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "58793271eab7ec26bab99ca497131f8b37702e7dc39e2f2d18293e3e915b4964"
|
checksum = "00c1070d95484d048994ec109cd42c4932ac07e6ee3cc1886fb90c7a18ec29da"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"cpp_demangle",
|
"cpp_demangle",
|
||||||
@@ -5539,8 +5550,8 @@ dependencies = [
|
|||||||
"sha2 0.10.9",
|
"sha2 0.10.9",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"target-lexicon",
|
"target-lexicon",
|
||||||
"wasm-encoder 0.252.0",
|
"wasm-encoder 0.254.0",
|
||||||
"wasmparser 0.252.0",
|
"wasmparser 0.254.0",
|
||||||
"wasmprinter",
|
"wasmprinter",
|
||||||
"wasmtime-internal-component-util",
|
"wasmtime-internal-component-util",
|
||||||
"wasmtime-internal-core",
|
"wasmtime-internal-core",
|
||||||
@@ -5548,9 +5559,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmtime-internal-cache"
|
name = "wasmtime-internal-cache"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ede02ba77442cab88a2ddd5d16373e8bc450b55e05de8be039b024987a53d5a7"
|
checksum = "9d447fd40f3e149cda8c0cd808660a1d1de438f3ff28627abb9bcda90dfb4895"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
"directories-next",
|
"directories-next",
|
||||||
@@ -5568,9 +5579,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmtime-internal-component-macro"
|
name = "wasmtime-internal-component-macro"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c5bba4eff4804620bae04d7793308d97a0c5a8a97ea19e635452518f84560f84"
|
checksum = "f3d2b2f9f89a65bb2277d82fbdd49263d27d8233bc717d750c4b13a23d57721c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
@@ -5578,20 +5589,20 @@ dependencies = [
|
|||||||
"syn 2.0.119",
|
"syn 2.0.119",
|
||||||
"wasmtime-internal-component-util",
|
"wasmtime-internal-component-util",
|
||||||
"wasmtime-internal-wit-bindgen",
|
"wasmtime-internal-wit-bindgen",
|
||||||
"wit-parser 0.252.0",
|
"wit-parser 0.254.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmtime-internal-component-util"
|
name = "wasmtime-internal-component-util"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3d7032ff6b4d7a45e05be1cb32ec1756df5f2669f08296dbe2c61c3789dead2c"
|
checksum = "2c0fe8292115fda08875f29064ae9f7f0b2c1ffbb323146eae538ae34b8a613f"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmtime-internal-core"
|
name = "wasmtime-internal-core"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f41d3b2cb9c3de7b696690af070d408b5e357011832f8b8bb7fbb315dbb620ed"
|
checksum = "821385794cf44baf2967fd2515368429ed2bff9b9b256f62d09a0f1301474fd8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hashbrown 0.17.1",
|
"hashbrown 0.17.1",
|
||||||
"libm",
|
"libm",
|
||||||
@@ -5600,11 +5611,10 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmtime-internal-cranelift"
|
name = "wasmtime-internal-cranelift"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1d5cda5b90247978dd2ba6ca4e309508da19e9244445671d2d0e6a34e5c3b847"
|
checksum = "0238b4a52773457ad1b8a1a26be90486e0ca0108cf46b9be16cc1d8d8cabdfa1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
|
||||||
"cranelift-codegen",
|
"cranelift-codegen",
|
||||||
"cranelift-control",
|
"cranelift-control",
|
||||||
"cranelift-entity",
|
"cranelift-entity",
|
||||||
@@ -5618,7 +5628,7 @@ dependencies = [
|
|||||||
"smallvec",
|
"smallvec",
|
||||||
"target-lexicon",
|
"target-lexicon",
|
||||||
"thiserror 2.0.20",
|
"thiserror 2.0.20",
|
||||||
"wasmparser 0.252.0",
|
"wasmparser 0.254.0",
|
||||||
"wasmtime-environ",
|
"wasmtime-environ",
|
||||||
"wasmtime-internal-core",
|
"wasmtime-internal-core",
|
||||||
"wasmtime-internal-unwinder",
|
"wasmtime-internal-unwinder",
|
||||||
@@ -5627,12 +5637,11 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmtime-internal-fiber"
|
name = "wasmtime-internal-fiber"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4d126366176553e8f304e8ac2078a4cc37134fe8f19d4d4695a09c5a2f577f10"
|
checksum = "596f1d85e06cbf9c9add9c78ea135171c5753264ffe94a83dcc082a1ff49fc9b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"cfg-if",
|
|
||||||
"libc",
|
"libc",
|
||||||
"rustix",
|
"rustix",
|
||||||
"wasmtime-environ",
|
"wasmtime-environ",
|
||||||
@@ -5642,9 +5651,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmtime-internal-jit-debug"
|
name = "wasmtime-internal-jit-debug"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c1d28ff131bc40e11d84bc3a9fa0d264506439ffbbc89f3562fbb529d1caa617"
|
checksum = "365faed74827bb0116785bab5872372df1baaec9ec0003c83bc99ccdc595f689"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"wasmtime-internal-versioned-export-macros",
|
"wasmtime-internal-versioned-export-macros",
|
||||||
@@ -5652,11 +5661,10 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmtime-internal-jit-icache-coherence"
|
name = "wasmtime-internal-jit-icache-coherence"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4a52de8b6afbfcd618073f592c1450cb661574e7061f3f4a44f1f7ec0c7f7909"
|
checksum = "3cce25afd9e7ac4957292a5c6a219951dd0f140b8417e7378a97f50b67c3b96f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
|
||||||
"libc",
|
"libc",
|
||||||
"wasmtime-internal-core",
|
"wasmtime-internal-core",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.61.2",
|
||||||
@@ -5664,11 +5672,10 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmtime-internal-unwinder"
|
name = "wasmtime-internal-unwinder"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5524fbaaf3d2134dd6229164d7fc81e443cce06d1e0576524d5f4e86e747cb13"
|
checksum = "a1fdea09d51e39c774984ca68a7d7486767e5b2935f5e686fa654aabcfc3c42d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
|
||||||
"cranelift-codegen",
|
"cranelift-codegen",
|
||||||
"log",
|
"log",
|
||||||
"object",
|
"object",
|
||||||
@@ -5677,9 +5684,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmtime-internal-versioned-export-macros"
|
name = "wasmtime-internal-versioned-export-macros"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e93bb9ae112a80618510f938275a5d88637b656e7d0a021fc906f52206c708ad"
|
checksum = "97e48a5f514c38c2f74249724cb3501e45548d3311ca9e3881694859fd6ba116"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
@@ -5688,31 +5695,30 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmtime-internal-wit-bindgen"
|
name = "wasmtime-internal-wit-bindgen"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "bfdbdd9d6fab1ecb67a7dc189e32c9e341444945fb709437bf8aab25d9a88459"
|
checksum = "07429ab53576255be2d298e04b2e1f381e39645465adbaebd69314b5430165c0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bitflags 2.13.1",
|
"bitflags 2.13.1",
|
||||||
"heck",
|
"heck",
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"wit-parser 0.252.0",
|
"wit-component 0.254.0",
|
||||||
|
"wit-parser 0.254.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmtime-wasi"
|
name = "wasmtime-wasi"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b373095a6dc8382da56882ad16d7ea16771dd6927dd480b1ce3fe7c4b816d2cf"
|
checksum = "85dd81ee95792682ea5b279c9ed352f6b8a2cba084c2f8abdb225e6933323fed"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"bitflags 2.13.1",
|
"bitflags 2.13.1",
|
||||||
"bytes",
|
"bytes",
|
||||||
"cap-fs-ext",
|
"cap-fs-ext",
|
||||||
"cap-std",
|
"cap-primitives",
|
||||||
"cfg-if",
|
|
||||||
"futures",
|
"futures",
|
||||||
"io-lifetimes 3.0.1",
|
|
||||||
"rand",
|
"rand",
|
||||||
"rustix",
|
"rustix",
|
||||||
"thiserror 2.0.20",
|
"thiserror 2.0.20",
|
||||||
@@ -5726,9 +5732,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmtime-wasi-http"
|
name = "wasmtime-wasi-http"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "372fc7845f26cd8f69bcbf6e4234fcc032f718480c7722fa20a28eb74d58998e"
|
checksum = "1d75e17f0c94810a34a51dccee9a5e9733eb423dff5176aaeb9152a7a03b2812"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -5737,6 +5743,7 @@ dependencies = [
|
|||||||
"http-body",
|
"http-body",
|
||||||
"http-body-util",
|
"http-body-util",
|
||||||
"hyper",
|
"hyper",
|
||||||
|
"pin-project-lite",
|
||||||
"rustls",
|
"rustls",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-rustls",
|
"tokio-rustls",
|
||||||
@@ -5750,9 +5757,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmtime-wasi-io"
|
name = "wasmtime-wasi-io"
|
||||||
version = "47.0.4"
|
version = "48.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "51b3c9b39b1a1b3029f80e614623e182f165133dfaca8610f156450343f080a4"
|
checksum = "6a557bc8a7232cd079f6b423a9bb385f3ff9148824f3c26c07a028b499fab2bf"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -5792,9 +5799,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "webrtc"
|
name = "webrtc"
|
||||||
version = "0.20.3"
|
version = "0.20.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7330857e1e10fcbfa5f358f152cc01f22a05bb523875c0547677db0f24538dcd"
|
checksum = "3daa8f2f6366331ae3275a6c02a855c6fb3faa1d16960498d7daaf61c96e76bd"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-broadcast",
|
"async-broadcast",
|
||||||
"async-channel",
|
"async-channel",
|
||||||
@@ -6167,9 +6174,9 @@ dependencies = [
|
|||||||
"indexmap",
|
"indexmap",
|
||||||
"prettyplease",
|
"prettyplease",
|
||||||
"syn 2.0.119",
|
"syn 2.0.119",
|
||||||
"wasm-metadata",
|
"wasm-metadata 0.258.0",
|
||||||
"wit-bindgen-core",
|
"wit-bindgen-core",
|
||||||
"wit-component",
|
"wit-component 0.258.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -6187,6 +6194,25 @@ dependencies = [
|
|||||||
"wit-bindgen-rust",
|
"wit-bindgen-rust",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wit-component"
|
||||||
|
version = "0.254.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b0e65bb94c369b3c4741ce3d1d2704b1fec93db7c540df0e521a097e7ceeb5be"
|
||||||
|
dependencies = [
|
||||||
|
"anyhow",
|
||||||
|
"bitflags 2.13.1",
|
||||||
|
"indexmap",
|
||||||
|
"log",
|
||||||
|
"serde",
|
||||||
|
"serde_derive",
|
||||||
|
"serde_json",
|
||||||
|
"wasm-encoder 0.254.0",
|
||||||
|
"wasm-metadata 0.254.0",
|
||||||
|
"wasmparser 0.254.0",
|
||||||
|
"wit-parser 0.254.0",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wit-component"
|
name = "wit-component"
|
||||||
version = "0.258.0"
|
version = "0.258.0"
|
||||||
@@ -6201,7 +6227,7 @@ dependencies = [
|
|||||||
"serde_derive",
|
"serde_derive",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"wasm-encoder 0.258.0",
|
"wasm-encoder 0.258.0",
|
||||||
"wasm-metadata",
|
"wasm-metadata 0.258.0",
|
||||||
"wasmparser 0.258.0",
|
"wasmparser 0.258.0",
|
||||||
"wit-parser 0.258.0",
|
"wit-parser 0.258.0",
|
||||||
]
|
]
|
||||||
@@ -6221,9 +6247,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wit-parser"
|
name = "wit-parser"
|
||||||
version = "0.252.0"
|
version = "0.254.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4266bea110371c620ccf3201c5023676046bc4556e5c7cfb5d500bda5ebc162d"
|
checksum = "1655131e4f7d3f0cb141f6eca71315ca40eff0f3d4de7cff0a82bacedd8c89b4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"hashbrown 0.17.1",
|
"hashbrown 0.17.1",
|
||||||
@@ -6235,7 +6261,7 @@ dependencies = [
|
|||||||
"serde_derive",
|
"serde_derive",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"unicode-ident",
|
"unicode-ident",
|
||||||
"wasmparser 0.252.0",
|
"wasmparser 0.254.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|||||||
10
Cargo.toml
10
Cargo.toml
@@ -121,6 +121,8 @@ inherits = "release"
|
|||||||
debug = true
|
debug = true
|
||||||
strip = false
|
strip = false
|
||||||
|
|
||||||
|
[profile.dev]
|
||||||
|
debug = false
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
tokio = { version = "1.53", default-features = false }
|
tokio = { version = "1.53", default-features = false }
|
||||||
@@ -215,9 +217,9 @@ rustc_version_runtime = { version = "0.3", default-features = false }
|
|||||||
ordered-float = { version = "5.4", default-features = false, features = ["std"] }
|
ordered-float = { version = "5.4", default-features = false, features = ["std"] }
|
||||||
xxhash-rust = { version = "0.8", default-features = false, features = ["xxh64"] }
|
xxhash-rust = { version = "0.8", default-features = false, features = ["xxh64"] }
|
||||||
|
|
||||||
wasmtime = { version = "47.0", default-features = false, features = ["runtime", "component-model", "async", "cache", "cranelift", "gc", "gc-drc", "threads", "std"] }
|
wasmtime = { version = "48.0", default-features = false, features = ["runtime", "component-model", "async", "cache", "cranelift", "gc", "gc-drc", "threads", "std"] }
|
||||||
wasmtime-wasi = { version = "47.0", default-features = false, features = ["p2", "p3"] }
|
wasmtime-wasi = { version = "48.0", default-features = false, features = ["p2", "p3"] }
|
||||||
wasmtime-wasi-http = { version = "47.0", default-features = false, features = ["p2", "p3", "default-send-request"] }
|
wasmtime-wasi-http = { version = "48.0", default-features = false, features = ["p2", "p3", "default-send-request"] }
|
||||||
# needed for interacting with wasmtime-wasi-http - keep in sync
|
# needed for interacting with wasmtime-wasi-http - keep in sync
|
||||||
hyper = { version = "^1.11", default-features = false }
|
hyper = { version = "^1.11", default-features = false }
|
||||||
axum = { version = "0.8.9", default-features = false, features = ["http1", "tokio"] }
|
axum = { version = "0.8.9", default-features = false, features = ["http1", "tokio"] }
|
||||||
@@ -227,4 +229,4 @@ wit-bindgen = { version = "0.61", default-features = false, features = ["macros"
|
|||||||
|
|
||||||
postcard = { version = "1.1", default-features = false, features = ["alloc"] }
|
postcard = { version = "1.1", default-features = false, features = ["alloc"] }
|
||||||
tracing-serde-structured = { version = "0.4", default-features = false }
|
tracing-serde-structured = { version = "0.4", default-features = false }
|
||||||
wasmparser = { version = "0.257", default-features = false }
|
wasmparser = { version = "0.258", default-features = false }
|
||||||
|
|||||||
@@ -37,11 +37,9 @@ pub const HTTP_OUTBOUND: &str = "http.outbound";
|
|||||||
/// Allows the plugin to read files within its own data folder (`plugins/data/<name>`).
|
/// Allows the plugin to read files within its own data folder (`plugins/data/<name>`).
|
||||||
pub const FS_READ_DATA: &str = "fs.read.data";
|
pub const FS_READ_DATA: &str = "fs.read.data";
|
||||||
|
|
||||||
/// Allows the plugin to write files within its own data folder (`plugins/data/<name>`).
|
/// Allows the plugin to write (and read) files within its own data folder (`plugins/data/<name>`).
|
||||||
///
|
///
|
||||||
/// Note that even without `FS_READ_DATA`, this will allow the plugin to
|
/// Note that this permission also implies `FS_READ_DATA`
|
||||||
/// inspect (e.g. list) the contents of the directory. But it will block
|
|
||||||
/// reading any file's contents.
|
|
||||||
pub const FS_WRITE_DATA: &str = "fs.write.data";
|
pub const FS_WRITE_DATA: &str = "fs.write.data";
|
||||||
|
|
||||||
/// Allows the plugin to read all environment variables.
|
/// Allows the plugin to read all environment variables.
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)]
|
#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)]
|
||||||
|
|
||||||
use std::{fs, path::Path, sync::Arc};
|
use std::{fs, net::SocketAddr, path::Path, sync::Arc};
|
||||||
use thiserror::Error;
|
use thiserror::Error;
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
use wasmtime::{Cache, CacheConfig, Engine, Store, component::Component, component::Linker};
|
use wasmtime::{Cache, CacheConfig, Engine, Store, component::Component, component::Linker};
|
||||||
use wasmtime_wasi::{DirPerms, FilePerms, WasiCtxBuilder, sockets::SocketAddrUse};
|
use wasmtime_wasi::{FsPerms, WasiCtxBuilder, sockets::SocketAddrUse};
|
||||||
|
|
||||||
use crate::plugin::{
|
use crate::plugin::{
|
||||||
Context, PluginMetadata, cache::calculate_hash_for_bytes,
|
Context, PluginMetadata, cache::calculate_hash_for_bytes,
|
||||||
@@ -45,6 +45,69 @@ pub enum PluginInitError {
|
|||||||
CacheCreationFailed(wasmtime::Error),
|
CacheCreationFailed(wasmtime::Error),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Copy, Default)]
|
||||||
|
struct SocketPolicy {
|
||||||
|
tcp_connect: bool,
|
||||||
|
tcp_bind: bool,
|
||||||
|
udp_send: bool,
|
||||||
|
udp_receive: bool,
|
||||||
|
udp_bind: bool,
|
||||||
|
loopback_only: bool,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl SocketPolicy {
|
||||||
|
const fn allows(self, addr: SocketAddr, reason: SocketAddrUse) -> bool {
|
||||||
|
// Wasmtime performs a wildcard bind before an outbound connect/send.
|
||||||
|
// Permit only that precursor here; the later destination check still
|
||||||
|
// enforces the actual protocol and loopback policy.
|
||||||
|
let implicit_outbound_bind = addr.ip().is_unspecified()
|
||||||
|
&& addr.port() == 0
|
||||||
|
&& match reason {
|
||||||
|
SocketAddrUse::TcpBind => self.tcp_connect,
|
||||||
|
SocketAddrUse::UdpBind => self.udp_send,
|
||||||
|
_ => false,
|
||||||
|
};
|
||||||
|
|
||||||
|
let operation_allowed = match reason {
|
||||||
|
SocketAddrUse::TcpConnect => self.tcp_connect,
|
||||||
|
SocketAddrUse::TcpBind => self.tcp_bind || implicit_outbound_bind,
|
||||||
|
SocketAddrUse::TcpListen | SocketAddrUse::TcpAccept => self.tcp_bind,
|
||||||
|
SocketAddrUse::UdpBind => self.udp_bind || implicit_outbound_bind,
|
||||||
|
SocketAddrUse::UdpSend => self.udp_send,
|
||||||
|
SocketAddrUse::UdpReceive => self.udp_receive,
|
||||||
|
};
|
||||||
|
|
||||||
|
operation_allowed
|
||||||
|
&& (!self.loopback_only || addr.ip().is_loopback() || implicit_outbound_bind)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn socket_policy_for_permissions(
|
||||||
|
has_permission: impl Fn(&str) -> bool,
|
||||||
|
loopback_only: bool,
|
||||||
|
) -> SocketPolicy {
|
||||||
|
let network_outbound = has_permission(permissions::NETWORK_OUTBOUND);
|
||||||
|
let tcp_allowed = has_permission(permissions::NETWORK_TCP);
|
||||||
|
let udp_allowed = has_permission(permissions::NETWORK_UDP);
|
||||||
|
let tcp_connect =
|
||||||
|
tcp_allowed || network_outbound || has_permission(permissions::NETWORK_TCP_CONNECT);
|
||||||
|
let tcp_bind = tcp_allowed || has_permission(permissions::NETWORK_TCP_BIND);
|
||||||
|
let udp_connected =
|
||||||
|
udp_allowed || network_outbound || has_permission(permissions::NETWORK_UDP_CONNECT);
|
||||||
|
let udp_bind = udp_allowed || has_permission(permissions::NETWORK_UDP_BIND);
|
||||||
|
let udp_send = udp_connected || has_permission(permissions::NETWORK_UDP_OUTGOING_DATAGRAM);
|
||||||
|
let udp_receive = udp_connected || udp_bind;
|
||||||
|
|
||||||
|
SocketPolicy {
|
||||||
|
tcp_connect,
|
||||||
|
tcp_bind,
|
||||||
|
udp_send,
|
||||||
|
udp_receive,
|
||||||
|
udp_bind,
|
||||||
|
loopback_only,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub struct PluginRuntime {
|
pub struct PluginRuntime {
|
||||||
engine: Engine,
|
engine: Engine,
|
||||||
cache_dir: std::path::PathBuf,
|
cache_dir: std::path::PathBuf,
|
||||||
@@ -238,39 +301,19 @@ impl WasmPlugin {
|
|||||||
builder.allow_ip_name_lookup(true);
|
builder.allow_ip_name_lookup(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
let tcp_allowed = has_permission(permissions::NETWORK_TCP);
|
|
||||||
let udp_allowed = has_permission(permissions::NETWORK_UDP);
|
|
||||||
let tcp_connect = tcp_allowed || has_permission(permissions::NETWORK_TCP_CONNECT);
|
|
||||||
let tcp_bind = tcp_allowed || has_permission(permissions::NETWORK_TCP_BIND);
|
|
||||||
let udp_connect = udp_allowed || has_permission(permissions::NETWORK_UDP_CONNECT);
|
|
||||||
let udp_bind = udp_allowed || has_permission(permissions::NETWORK_UDP_BIND);
|
|
||||||
let udp_outgoing_datagram =
|
|
||||||
udp_allowed || has_permission(permissions::NETWORK_UDP_OUTGOING_DATAGRAM);
|
|
||||||
|
|
||||||
let loopback_only = plugin_override
|
let loopback_only = plugin_override
|
||||||
.and_then(|o| o.loopback_only)
|
.and_then(|o| o.loopback_only)
|
||||||
.unwrap_or(plugin_config.loopback_only)
|
.unwrap_or(plugin_config.loopback_only)
|
||||||
|| has_permission(permissions::NETWORK_LOOPBACK);
|
|| has_permission(permissions::NETWORK_LOOPBACK);
|
||||||
|
|
||||||
builder.allow_tcp(tcp_connect || tcp_bind);
|
let socket_policy = socket_policy_for_permissions(has_permission, loopback_only);
|
||||||
builder.allow_udp(udp_connect || udp_bind);
|
|
||||||
|
|
||||||
|
builder.allow_tcp(socket_policy.tcp_connect || socket_policy.tcp_bind);
|
||||||
|
builder.allow_udp(
|
||||||
|
socket_policy.udp_send || socket_policy.udp_receive || socket_policy.udp_bind,
|
||||||
|
);
|
||||||
builder.socket_addr_check(move |addr, reason| {
|
builder.socket_addr_check(move |addr, reason| {
|
||||||
Box::pin(async move {
|
Box::pin(async move { socket_policy.allows(addr, reason) })
|
||||||
let ok = match reason {
|
|
||||||
SocketAddrUse::TcpConnect => tcp_connect,
|
|
||||||
SocketAddrUse::TcpBind => tcp_bind,
|
|
||||||
SocketAddrUse::UdpConnect => udp_connect,
|
|
||||||
SocketAddrUse::UdpBind => udp_bind,
|
|
||||||
SocketAddrUse::UdpOutgoingDatagram => udp_outgoing_datagram,
|
|
||||||
};
|
|
||||||
|
|
||||||
if loopback_only {
|
|
||||||
ok && addr.ip().is_loopback()
|
|
||||||
} else {
|
|
||||||
ok
|
|
||||||
}
|
|
||||||
})
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if has_permission(permissions::NETWORK_OUTBOUND) {
|
if has_permission(permissions::NETWORK_OUTBOUND) {
|
||||||
@@ -302,30 +345,20 @@ impl WasmPlugin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
builder.preopened_dir(
|
let may_write_data = has_permission(permissions::FS_WRITE_DATA);
|
||||||
context.get_data_folder(),
|
let may_read_data = has_permission(permissions::FS_READ_DATA);
|
||||||
"data",
|
|
||||||
if has_permission(permissions::FS_READ_DATA)
|
if may_read_data || may_write_data {
|
||||||
|| has_permission(permissions::FS_WRITE_DATA)
|
builder.preopened_dir(
|
||||||
{
|
context.get_data_folder(),
|
||||||
DirPerms::READ
|
"data",
|
||||||
} else {
|
if may_write_data {
|
||||||
DirPerms::empty()
|
FsPerms::ReadWrite
|
||||||
} | if has_permission(permissions::FS_WRITE_DATA) {
|
} else {
|
||||||
DirPerms::MUTATE
|
FsPerms::ReadOnly
|
||||||
} else {
|
},
|
||||||
DirPerms::empty()
|
)?;
|
||||||
},
|
}
|
||||||
if has_permission(permissions::FS_READ_DATA) {
|
|
||||||
FilePerms::READ
|
|
||||||
} else {
|
|
||||||
FilePerms::empty()
|
|
||||||
} | if has_permission(permissions::FS_WRITE_DATA) {
|
|
||||||
FilePerms::WRITE
|
|
||||||
} else {
|
|
||||||
FilePerms::empty()
|
|
||||||
},
|
|
||||||
)?;
|
|
||||||
|
|
||||||
let max_memory_mb = plugin_override
|
let max_memory_mb = plugin_override
|
||||||
.and_then(|o| o.max_memory_mb)
|
.and_then(|o| o.max_memory_mb)
|
||||||
|
|||||||
@@ -8,11 +8,7 @@ use tokio::sync::Mutex;
|
|||||||
use wasmtime::component::ResourceTable;
|
use wasmtime::component::ResourceTable;
|
||||||
use wasmtime_wasi::{WasiCtx, WasiCtxBuilder, WasiCtxView, WasiView};
|
use wasmtime_wasi::{WasiCtx, WasiCtxBuilder, WasiCtxView, WasiView};
|
||||||
use wasmtime_wasi_http::{
|
use wasmtime_wasi_http::{
|
||||||
WasiHttpCtx,
|
RequestOptions, WasiBody, WasiHttpCtx, WasiHttpCtxView, WasiHttpHooks, WasiHttpView,
|
||||||
p2::{
|
|
||||||
HttpError, HttpResult, WasiHttpCtxView, WasiHttpHooks, WasiHttpView,
|
|
||||||
bindings::http::types::ErrorCode, default_send_request,
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
@@ -579,19 +575,25 @@ impl Default for PluginHttpHooks {
|
|||||||
impl WasiHttpHooks for PluginHttpHooks {
|
impl WasiHttpHooks for PluginHttpHooks {
|
||||||
fn send_request(
|
fn send_request(
|
||||||
&mut self,
|
&mut self,
|
||||||
request: hyper::Request<wasmtime_wasi_http::p2::body::HyperOutgoingBody>,
|
request: hyper::Request<WasiBody>,
|
||||||
config: wasmtime_wasi_http::p2::types::OutgoingRequestConfig,
|
options: Option<RequestOptions>,
|
||||||
) -> HttpResult<wasmtime_wasi_http::p2::types::HostFutureIncomingResponse> {
|
fut: Box<dyn Future<Output = wasmtime_wasi_http::Result<()>> + Send>,
|
||||||
|
) -> Box<
|
||||||
|
dyn Future<
|
||||||
|
Output = wasmtime_wasi_http::Result<(
|
||||||
|
hyper::Response<WasiBody>,
|
||||||
|
Box<dyn Future<Output = wasmtime_wasi_http::Result<()>> + Send>,
|
||||||
|
)>,
|
||||||
|
> + Send,
|
||||||
|
> {
|
||||||
if !self.allow_outbound {
|
if !self.allow_outbound {
|
||||||
return Err(HttpError::from(ErrorCode::HttpRequestDenied));
|
return Box::new(async { Err(wasmtime_wasi_http::Error::HttpRequestDenied) });
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(default_send_request(request, config))
|
wasmtime_wasi_http::default_hooks().send_request(request, options, fut)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl wasmtime_wasi_http::p3::WasiHttpHooks for PluginHttpHooks {}
|
|
||||||
|
|
||||||
impl WasiView for PluginHostState {
|
impl WasiView for PluginHostState {
|
||||||
fn ctx(&mut self) -> WasiCtxView<'_> {
|
fn ctx(&mut self) -> WasiCtxView<'_> {
|
||||||
WasiCtxView {
|
WasiCtxView {
|
||||||
@@ -610,13 +612,3 @@ impl WasiHttpView for PluginHostState {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl wasmtime_wasi_http::p3::WasiHttpView for PluginHostState {
|
|
||||||
fn http(&mut self) -> wasmtime_wasi_http::p3::WasiHttpCtxView<'_> {
|
|
||||||
wasmtime_wasi_http::p3::WasiHttpCtxView {
|
|
||||||
ctx: &mut self.wasi_http_ctx,
|
|
||||||
table: &mut self.resource_table,
|
|
||||||
hooks: &mut self.wasi_http_hooks,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -41,11 +41,9 @@ pub const HTTP_OUTBOUND: &str = "http.outbound";
|
|||||||
/// Allows the plugin to read files within its own data folder (`plugins/data/<name>`).
|
/// Allows the plugin to read files within its own data folder (`plugins/data/<name>`).
|
||||||
pub const FS_READ_DATA: &str = "fs.read.data";
|
pub const FS_READ_DATA: &str = "fs.read.data";
|
||||||
|
|
||||||
/// Allows the plugin to write files within its own data folder (`plugins/data/<name>`).
|
/// Allows the plugin to write (and read) files within its own data folder (`plugins/data/<name>`).
|
||||||
///
|
///
|
||||||
/// Note that even without `FS_READ_DATA`, this will allow the plugin to
|
/// Note that this permission also implies `FS_READ_DATA`
|
||||||
/// inspect (e.g. list) the contents of the directory. But it will block
|
|
||||||
/// reading any file's contents.
|
|
||||||
pub const FS_WRITE_DATA: &str = "fs.write.data";
|
pub const FS_WRITE_DATA: &str = "fs.write.data";
|
||||||
|
|
||||||
/// Allows the plugin to read all environment variables.
|
/// Allows the plugin to read all environment variables.
|
||||||
@@ -97,10 +95,7 @@ pub fn get_permission_description(permission: &str) -> Option<&'static str> {
|
|||||||
}
|
}
|
||||||
FS_READ_DATA => Some("Allows the plugin to read files within its own data folder."),
|
FS_READ_DATA => Some("Allows the plugin to read files within its own data folder."),
|
||||||
FS_WRITE_DATA => Some(
|
FS_WRITE_DATA => Some(
|
||||||
"\
|
"Allows the plugin to write (and read) files within its own data folder. Implies `fs.read.data`.",
|
||||||
Allows the plugin to write files within its own data folder. \
|
|
||||||
Even without `fs.read.data`, this will allow the plugin to list directory contents \
|
|
||||||
(but not read the contents of the discovered files).",
|
|
||||||
),
|
),
|
||||||
SYS_ENV => Some("Allows the plugin to read all environment variables."),
|
SYS_ENV => Some("Allows the plugin to read all environment variables."),
|
||||||
SYS_INFO => Some("Allows the plugin to read system information (CPU, Memory, OS)."),
|
SYS_INFO => Some("Allows the plugin to read system information (CPU, Memory, OS)."),
|
||||||
|
|||||||
Reference in New Issue
Block a user