diff --git a/Cargo.lock b/Cargo.lock index 2ef0595e38e..b2f7d3d5200 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -457,15 +457,6 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "230c5f1ca6a325a32553f8640d31ac9b49f2411e901e427570154868b46da4f7" -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -556,6 +547,29 @@ version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +[[package]] +name = "bytecheck" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0caa33a2c0edca0419d15ac723dff03f1956f7978329b1e3b5fdaaaed9d3ca8b" +dependencies = [ + "bytecheck_derive", + "ptr_meta", + "rancor", + "simdutf8", +] + +[[package]] +name = "bytecheck_derive" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89385e82b5d1821d2219e0b095efa2cc1f246cbf99080f3be46a1a85c0d392d9" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "byteorder" version = "1.5.0" @@ -1135,6 +1149,43 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "dtls" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f016db07b91e9d79cc60a152c163d3f0ce2d4c0173cb3964de3526aab6e07fa" +dependencies = [ + "aes", + "aes-gcm", + "async-trait", + "bytecheck", + "byteorder", + "cbc", + "ccm", + "chacha20poly1305", + "der-parser 9.0.0", + "hmac", + "log", + "p256", + "p384", + "pem", + "portable-atomic", + "rand 0.9.4", + "rand_core 0.6.4", + "rcgen", + "ring", + "rkyv", + "rustls", + "sec1", + "sha1", + "sha2", + "thiserror 1.0.69", + "tokio", + "webrtc-util 0.17.1", + "x25519-dalek", + "x509-parser 0.16.0", +] + [[package]] name = "dtoa" version = "1.0.10" @@ -1687,6 +1738,12 @@ dependencies = [ "foldhash 0.2.0", ] +[[package]] +name = "hashbrown" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" + [[package]] name = "hashlink" version = "0.11.0" @@ -1754,7 +1811,7 @@ dependencies = [ "idna", "ipnet", "once_cell", - "rand 0.9.0", + "rand 0.9.4", "ring", "socket2 0.5.9", "thiserror 2.0.18", @@ -1777,7 +1834,7 @@ dependencies = [ "moka", "once_cell", "parking_lot", - "rand 0.9.0", + "rand 0.9.4", "resolv-conf", "smallvec", "thiserror 2.0.18", @@ -2192,7 +2249,7 @@ dependencies = [ "hyper", "hyper-util", "log", - "rand 0.9.0", + "rand 0.9.4", "tokio", "url", "xmltree", @@ -2232,22 +2289,23 @@ dependencies = [ [[package]] name = "interceptor" -version = "0.13.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ab04c530fd82e414e40394cabe5f0ebfe30d119f10fe29d6e3561926af412e" +checksum = "7f73f4fdb971cab2d599cbdc2ccf0c6ea8fb27347b871ed14c65ce2353dbe75b" dependencies = [ "async-trait", "bytes", + "futures", "log", "portable-atomic", - "rand 0.8.5", + "rand 0.9.4", "rtcp", "rtp", "thiserror 1.0.69", "tokio", "waitgroup", "webrtc-srtp", - "webrtc-util", + "webrtc-util 0.17.1", ] [[package]] @@ -3247,7 +3305,7 @@ dependencies = [ "quickcheck", "rand 0.8.5", "rcgen", - "stun", + "stun 0.7.0", "thiserror 2.0.18", "tokio", "tokio-util", @@ -3638,6 +3696,26 @@ dependencies = [ "unsigned-varint", ] +[[package]] +name = "munge" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e17401f259eba956ca16491461b6e8f72913a0a114e39736ce404410f915a0c" +dependencies = [ + "munge_macro", +] + +[[package]] +name = "munge_macro" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4568f25ccbd45ab5d5603dc34318c1ec56b117531781260002151b8530a9f931" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "native-tls" version = "0.2.14" @@ -4274,6 +4352,26 @@ dependencies = [ "syn", ] +[[package]] +name = "ptr_meta" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b9a0cf95a1196af61d4f1cbdab967179516d9a4a4312af1f31948f8f6224a79" +dependencies = [ + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7347867d0a7e1208d93b46767be83e2b8f978c3dad35f775ac8d8847551d6fe1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "quick-protobuf" version = "0.8.1" @@ -4346,7 +4444,7 @@ dependencies = [ "bytes", "getrandom 0.3.2", "lru-slab", - "rand 0.9.0", + "rand 0.9.4", "ring", "rustc-hash", "rustls", @@ -4393,6 +4491,15 @@ version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" +[[package]] +name = "rancor" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a063ea72381527c2a0561da9c80000ef822bdd7c3241b1cc1b12100e3df081ee" +dependencies = [ + "ptr_meta", +] + [[package]] name = "rand" version = "0.7.3" @@ -4419,13 +4526,12 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.0" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.3", - "zerocopy", ] [[package]] @@ -4623,6 +4729,15 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "rend" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cadadef317c2f20755a64d7fdc48f9e7178ee6b0e1f7fce33fa60f1d68a276e6" +dependencies = [ + "bytecheck", +] + [[package]] name = "rendezvous-example" version = "0.1.0" @@ -4720,6 +4835,36 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "rkyv" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73389e0c99e664f919275ab5b5b0471391fe9a8de61e1dff9b1eaf56a90f16e3" +dependencies = [ + "bytecheck", + "bytes", + "hashbrown 0.17.0", + "indexmap 2.13.0", + "munge", + "ptr_meta", + "rancor", + "rend", + "rkyv_derive", + "tinyvec", + "uuid", +] + +[[package]] +name = "rkyv_derive" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d2ed0b54125315fb36bd021e82d314d1c126548f871634b483f46b31d13cac6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "rmp" version = "0.8.14" @@ -4743,13 +4888,13 @@ dependencies = [ [[package]] name = "rtcp" -version = "0.12.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8306430fb118b7834bbee50e744dc34826eca1da2158657a3d6cbc70e24c2096" +checksum = "cb22f1cc99aea8152fdae6a4bc52a9caddf4bd1ff083d897c1f9f279956177e8" dependencies = [ "bytes", "thiserror 1.0.69", - "webrtc-util", + "webrtc-util 0.17.1", ] [[package]] @@ -4772,17 +4917,17 @@ dependencies = [ [[package]] name = "rtp" -version = "0.12.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e68baca5b6cb4980678713f0d06ef3a432aa642baefcbfd0f4dd2ef9eb5ab550" +checksum = "f8d41f3565d9add11caabe7c61745517f4ef511c168a6aa2b59ce4c701802cde" dependencies = [ "bytes", "memchr", "portable-atomic", - "rand 0.8.5", + "rand 0.9.4", "serde", "thiserror 1.0.69", - "webrtc-util", + "webrtc-util 0.17.1", ] [[package]] @@ -4968,11 +5113,11 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sdp" -version = "0.7.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02a526161f474ae94b966ba622379d939a8fe46c930eebbadb73e339622599d5" +checksum = "22c3b0257608d7de4de4c4ea650ccc2e6e3e45e3cd80039fcdee768bcb449253" dependencies = [ - "rand 0.8.5", + "rand 0.9.4", "substring", "thiserror 1.0.69", "url", @@ -5197,6 +5342,12 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + [[package]] name = "slab" version = "0.4.9" @@ -5362,7 +5513,26 @@ dependencies = [ "thiserror 1.0.69", "tokio", "url", - "webrtc-util", + "webrtc-util 0.10.0", +] + +[[package]] +name = "stun" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e0fd33c04d4617df42c9c84c698511c59f59869629fb7a193067eec41bce347" +dependencies = [ + "base64", + "crc", + "lazy_static", + "md-5", + "rand 0.9.4", + "ring", + "subtle", + "thiserror 1.0.69", + "tokio", + "url", + "webrtc-util 0.17.1", ] [[package]] @@ -5991,9 +6161,9 @@ dependencies = [ [[package]] name = "turn" -version = "0.9.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0044fdae001dd8a1e247ea6289abf12f4fcea1331a2364da512f9cd680bbd8cb" +checksum = "b6a8b8ac3543b2a8eb0b28c7ac3d5f2db6221e057f3b3ae47cf7637b1333a5c3" dependencies = [ "async-trait", "base64", @@ -6001,13 +6171,13 @@ dependencies = [ "log", "md-5", "portable-atomic", - "rand 0.8.5", + "rand 0.9.4", "ring", - "stun", + "stun 0.17.1", "thiserror 1.0.69", "tokio", "tokio-util", - "webrtc-util", + "webrtc-util 0.17.1", ] [[package]] @@ -6385,54 +6555,52 @@ dependencies = [ [[package]] name = "webrtc" -version = "0.12.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30367074d9f18231d28a74fab0120856b2b665da108d71a12beab7185a36f97b" +checksum = "8ba06986c4fcfbbb4b490abe4b88887b0ac9de0d3eb0aae36f3254e38d6ecdd1" dependencies = [ "arc-swap", "async-trait", "bytes", - "cfg-if", + "dtls", "hex", "interceptor", "lazy_static", "log", "pem", "portable-atomic", - "rand 0.8.5", + "rand 0.9.4", "rcgen", "regex", "ring", "rtcp", "rtp", - "rustls", "sdp", "serde", "serde_json", "sha2", "smol_str", - "stun", + "stun 0.17.1", "thiserror 1.0.69", - "time", "tokio", "turn", + "unicase", "url", "waitgroup", "webrtc-data", - "webrtc-dtls", "webrtc-ice", "webrtc-mdns", "webrtc-media", "webrtc-sctp", "webrtc-srtp", - "webrtc-util", + "webrtc-util 0.17.1", ] [[package]] name = "webrtc-data" -version = "0.10.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dec93b991efcd01b73c5b3503fa8adba159d069abe5785c988ebe14fcf8f05d1" +checksum = "a7ca42127ee64bcb71da36d151e6f87b12488c5f14c4f379e73d2d52a8e54aa0" dependencies = [ "bytes", "log", @@ -6440,62 +6608,24 @@ dependencies = [ "thiserror 1.0.69", "tokio", "webrtc-sctp", - "webrtc-util", -] - -[[package]] -name = "webrtc-dtls" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c9b89fc909f9da0499283b1112cd98f72fec28e55a54a9e352525ca65cd95c" -dependencies = [ - "aes", - "aes-gcm", - "async-trait", - "bincode", - "byteorder", - "cbc", - "ccm", - "der-parser 9.0.0", - "hkdf", - "hmac", - "log", - "p256", - "p384", - "pem", - "portable-atomic", - "rand 0.8.5", - "rand_core 0.6.4", - "rcgen", - "ring", - "rustls", - "sec1", - "serde", - "sha1", - "sha2", - "subtle", - "thiserror 1.0.69", - "tokio", - "webrtc-util", - "x25519-dalek", - "x509-parser 0.16.0", + "webrtc-util 0.17.1", ] [[package]] name = "webrtc-ice" -version = "0.12.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0348b28b593f7709ac98d872beb58c0009523df652c78e01b950ab9c537ff17d" +checksum = "23ede72a36e5dda685814c389b2b34ac60b3ed000a81789e93626e27180eb785" dependencies = [ "arc-swap", "async-trait", "crc", "log", "portable-atomic", - "rand 0.8.5", + "rand 0.9.4", "serde", "serde_json", - "stun", + "stun 0.17.1", "thiserror 1.0.69", "tokio", "turn", @@ -6503,40 +6633,40 @@ dependencies = [ "uuid", "waitgroup", "webrtc-mdns", - "webrtc-util", + "webrtc-util 0.17.1", ] [[package]] name = "webrtc-mdns" -version = "0.8.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6dfe9686c6c9c51428da4de415cb6ca2dc0591ce2b63212e23fd9cccf0e316b" +checksum = "1b62bc8d3fb5024bc6ffde5f4aad2127ce17f8359dbc6f70208a324a12e44677" dependencies = [ "log", "socket2 0.5.9", "thiserror 1.0.69", "tokio", - "webrtc-util", + "webrtc-util 0.17.1", ] [[package]] name = "webrtc-media" -version = "0.9.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e153be16b8650021ad3e9e49ab6e5fa9fb7f6d1c23c213fd8bbd1a1135a4c704" +checksum = "a9a28290bd0cdda196f8bf5c6f7dddaef18cc913ee0702cd1ea237bad203e337" dependencies = [ "byteorder", "bytes", - "rand 0.8.5", + "rand 0.9.4", "rtp", "thiserror 1.0.69", ] [[package]] name = "webrtc-sctp" -version = "0.11.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5faf3846ec4b7e64b56338d62cbafe084aa79806b0379dff5cc74a8b7a2b3063" +checksum = "2ea6633bf951b3fd71eba3244731c8d0814f6a80300620a4370cad2983a5a42f" dependencies = [ "arc-swap", "async-trait", @@ -6544,17 +6674,17 @@ dependencies = [ "crc", "log", "portable-atomic", - "rand 0.8.5", + "rand 0.9.4", "thiserror 1.0.69", "tokio", - "webrtc-util", + "webrtc-util 0.17.1", ] [[package]] name = "webrtc-srtp" -version = "0.14.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771db9993712a8fb3886d5be4613ebf27250ef422bd4071988bf55f1ed1a64fa" +checksum = "9e437f74b04f42049192e25cbb33c21c86be308875e6afe14cf8e28d1ffa35ac" dependencies = [ "aead", "aes", @@ -6570,7 +6700,7 @@ dependencies = [ "subtle", "thiserror 1.0.69", "tokio", - "webrtc-util", + "webrtc-util 0.17.1", ] [[package]] @@ -6594,6 +6724,26 @@ dependencies = [ "winapi", ] +[[package]] +name = "webrtc-util" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b65c1e0143a43d40f69e1d8c2ffc8734e379b49c06d45892ea4104c388bf9ead" +dependencies = [ + "async-trait", + "bitflags 1.3.2", + "bytes", + "ipnet", + "lazy_static", + "log", + "nix 0.26.4", + "portable-atomic", + "rand 0.9.4", + "thiserror 1.0.69", + "tokio", + "winapi", +] + [[package]] name = "webtransport-tests" version = "0.1.0" diff --git a/transports/webrtc/Cargo.toml b/transports/webrtc/Cargo.toml index 7a963d81cc9..88d1a9ede6d 100644 --- a/transports/webrtc/Cargo.toml +++ b/transports/webrtc/Cargo.toml @@ -28,7 +28,7 @@ thiserror = { workspace = true } tokio = { workspace = true, features = ["net"], optional = true } tokio-util = { version = "0.7", features = ["compat"], optional = true } tracing = { workspace = true } -webrtc = { version = "0.12.0", optional = true } +webrtc = { version = "0.17.1", optional = true } [features] tokio = ["dep:tokio", "dep:tokio-util", "dep:webrtc", "if-watch/tokio"]