chore(plugins): Update to Wasmtime 48.0.1 (#3155)

This commit is contained in:
Demetrius Kanios
2026-08-30 00:34:01 -07:00
committed by GitHub
parent 3667975190
commit 07be171b75
6 changed files with 286 additions and 240 deletions

326
Cargo.lock generated
View File

@@ -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]]

View File

@@ -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 }

View File

@@ -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.

View File

@@ -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)

View File

@@ -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,
}
}
}

View File

@@ -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)."),