diff --git a/Cargo.lock b/Cargo.lock index 3cc30a2c..a55a2ddd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "ab_glyph" @@ -291,29 +291,14 @@ dependencies = [ "libloading 0.7.4", ] -[[package]] -name = "asn1-rs" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" -dependencies = [ - "asn1-rs-derive 0.4.0", - "asn1-rs-impl 0.1.0", - "displaydoc", - "nom", - "num-traits", - "rusticata-macros", - "thiserror", -] - [[package]] name = "asn1-rs" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ad1373757efa0f70ec53939aabc7152e1591cb485208052993070ac8d2429d" dependencies = [ - "asn1-rs-derive 0.5.0", - "asn1-rs-impl 0.2.0", + "asn1-rs-derive", + "asn1-rs-impl", "displaydoc", "nom", "num-traits", @@ -322,18 +307,6 @@ dependencies = [ "time", ] -[[package]] -name = "asn1-rs-derive" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "synstructure 0.12.6", -] - [[package]] name = "asn1-rs-derive" version = "0.5.0" @@ -343,18 +316,7 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.71", - "synstructure 0.13.1", -] - -[[package]] -name = "asn1-rs-impl" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "synstructure", ] [[package]] @@ -2036,26 +1998,13 @@ dependencies = [ "zeroize", ] -[[package]] -name = "der-parser" -version = "8.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" -dependencies = [ - "asn1-rs 0.5.2", - "displaydoc", - "nom", - "num-traits", - "rusticata-macros", -] - [[package]] name = "der-parser" version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553" dependencies = [ - "asn1-rs 0.6.1", + "asn1-rs", "displaydoc", "nom", "num-bigint", @@ -2977,9 +2926,9 @@ dependencies = [ [[package]] name = "interceptor" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4705c00485029e738bea8c9505b5ddb1486a8f3627a953e1e77e6abdf5eef90c" +checksum = "e5ab04c530fd82e414e40394cabe5f0ebfe30d119f10fe29d6e3561926af412e" dependencies = [ "async-trait", "bytes", @@ -3774,7 +3723,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c958dd45046245b9c3c2547369bb634eb461670b2e7e0de552905801a648d1d" dependencies = [ - "asn1-rs 0.6.1", + "asn1-rs", ] [[package]] @@ -4282,9 +4231,9 @@ dependencies = [ [[package]] name = "rtcp" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc9f775ff89c5fe7f0cc0abafb7c57688ae25ce688f1a52dd88e277616c76ab2" +checksum = "8306430fb118b7834bbee50e744dc34826eca1da2158657a3d6cbc70e24c2096" dependencies = [ "bytes", "thiserror", @@ -4293,11 +4242,12 @@ dependencies = [ [[package]] name = "rtp" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6870f09b5db96f8b9e7290324673259fd15519ebb7d55acf8e7eb044a9ead6af" +checksum = "e68baca5b6cb4980678713f0d06ef3a432aa642baefcbfd0f4dd2ef9eb5ab550" dependencies = [ "bytes", + "memchr", "portable-atomic", "rand", "serde", @@ -4473,9 +4423,9 @@ dependencies = [ [[package]] name = "sdp" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13254db766b17451aced321e7397ebf0a446ef0c8d2942b6e67a95815421093f" +checksum = "02a526161f474ae94b966ba622379d939a8fe46c930eebbadb73e339622599d5" dependencies = [ "rand", "substring", @@ -4627,6 +4577,15 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + [[package]] name = "signature" version = "2.2.0" @@ -4750,11 +4709,11 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "stun" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28fad383a1cc63ae141e84e48eaef44a1063e9d9e55bcb8f51a99b886486e01b" +checksum = "ea256fb46a13f9204e9dee9982997b2c3097db175a9fddaa8350310d03c4d5a3" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "crc", "lazy_static", "md-5", @@ -4822,18 +4781,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" -[[package]] -name = "synstructure" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-xid", -] - [[package]] name = "synstructure" version = "0.13.1" @@ -4956,6 +4903,7 @@ dependencies = [ "num_cpus", "parking_lot", "pin-project-lite", + "signal-hook-registry", "socket2 0.5.7", "tokio-macros", "windows-sys 0.48.0", @@ -5211,12 +5159,12 @@ dependencies = [ [[package]] name = "turn" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b000cebd930420ac1ed842c8128e3b3412512dfd5b82657eab035a3f5126acc" +checksum = "0044fdae001dd8a1e247ea6289abf12f4fcea1331a2364da512f9cd680bbd8cb" dependencies = [ "async-trait", - "base64 0.21.7", + "base64 0.22.1", "futures", "log", "md-5", @@ -5502,9 +5450,9 @@ dependencies = [ [[package]] name = "webrtc" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b3a840e31c969844714f93b5a87e73ee49f3bc2a4094ab9132c69497eb31db" +checksum = "30367074d9f18231d28a74fab0120856b2b665da108d71a12beab7185a36f97b" dependencies = [ "arc-swap", "async-trait", @@ -5546,9 +5494,9 @@ dependencies = [ [[package]] name = "webrtc-data" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8b7c550f8d35867b72d511640adf5159729b9692899826fe00ba7fa74f0bf70" +checksum = "dec93b991efcd01b73c5b3503fa8adba159d069abe5785c988ebe14fcf8f05d1" dependencies = [ "bytes", "log", @@ -5561,9 +5509,9 @@ dependencies = [ [[package]] name = "webrtc-dtls" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86e5eedbb0375aa04da93fc3a189b49ed3ed9ee844b6997d5aade14fc3e2c26e" +checksum = "b7c9b89fc909f9da0499283b1112cd98f72fec28e55a54a9e352525ca65cd95c" dependencies = [ "aes", "aes-gcm", @@ -5572,7 +5520,7 @@ dependencies = [ "byteorder", "cbc", "ccm", - "der-parser 8.2.0", + "der-parser", "hkdf", "hmac", "log", @@ -5598,9 +5546,9 @@ dependencies = [ [[package]] name = "webrtc-ice" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4f0ca6d4df8d1bdd34eece61b51b62540840b7a000397bcfb53a7bfcf347c8" +checksum = "0348b28b593f7709ac98d872beb58c0009523df652c78e01b950ab9c537ff17d" dependencies = [ "arc-swap", "async-trait", @@ -5623,9 +5571,9 @@ dependencies = [ [[package]] name = "webrtc-mdns" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0804694f3b2acfdff48f6df217979b13cb0a00377c63b5effd111daaee7e8c4" +checksum = "e6dfe9686c6c9c51428da4de415cb6ca2dc0591ce2b63212e23fd9cccf0e316b" dependencies = [ "log", "socket2 0.5.7", @@ -5636,9 +5584,9 @@ dependencies = [ [[package]] name = "webrtc-media" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c15b20e98167b22949abc1c20eca7c6d814307d187068fe7a48f0b87a4f6d46" +checksum = "e153be16b8650021ad3e9e49ab6e5fa9fb7f6d1c23c213fd8bbd1a1135a4c704" dependencies = [ "byteorder", "bytes", @@ -5649,9 +5597,9 @@ dependencies = [ [[package]] name = "webrtc-sctp" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d850daa68639b9d7bb16400676e97525d1e52b15b4928240ae2ba0e849817a5" +checksum = "5faf3846ec4b7e64b56338d62cbafe084aa79806b0379dff5cc74a8b7a2b3063" dependencies = [ "arc-swap", "async-trait", @@ -5667,9 +5615,9 @@ dependencies = [ [[package]] name = "webrtc-srtp" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbec5da43a62c228d321d93fb12cc9b4d9c03c9b736b0c215be89d8bd0774cfe" +checksum = "771db9993712a8fb3886d5be4613ebf27250ef422bd4071988bf55f1ed1a64fa" dependencies = [ "aead", "aes", @@ -5690,9 +5638,9 @@ dependencies = [ [[package]] name = "webrtc-util" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc8d9bc631768958ed97b8d68b5d301e63054ae90b09083d43e2fefb939fd77e" +checksum = "1438a8fd0d69c5775afb4a71470af92242dbd04059c61895163aa3c1ef933375" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -6263,9 +6211,9 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69" dependencies = [ - "asn1-rs 0.6.1", + "asn1-rs", "data-encoding", - "der-parser 9.0.0", + "der-parser", "lazy_static", "nom", "oid-registry", diff --git a/matchbox_socket/Cargo.toml b/matchbox_socket/Cargo.toml index 168a8964..92fd10c5 100644 --- a/matchbox_socket/Cargo.toml +++ b/matchbox_socket/Cargo.toml @@ -78,7 +78,7 @@ async-tungstenite = { version = "0.26", default-features = false, features = [ "async-std-runtime", "async-tls", ] } -webrtc = { version = "0.11", default-features = false } +webrtc = { version = "0.12", default-features = false } bytes = { version = "1.1", default-features = false } async-compat = { version = "0.2", default-features = false } diff --git a/matchbox_socket/src/webrtc_socket/native.rs b/matchbox_socket/src/webrtc_socket/native.rs index 2af6be66..aa369ab8 100644 --- a/matchbox_socket/src/webrtc_socket/native.rs +++ b/matchbox_socket/src/webrtc_socket/native.rs @@ -33,7 +33,6 @@ use webrtc::{ data_channel::{data_channel_init::RTCDataChannelInit, RTCDataChannel}, ice_transport::{ ice_candidate::{RTCIceCandidate, RTCIceCandidateInit}, - ice_credential_type::RTCIceCredentialType, ice_server::RTCIceServer, }, peer_connection::{ @@ -436,24 +435,6 @@ async fn create_rtc_peer_connection( urls: ice_server_config.urls.clone(), username: ice_server_config.username.clone().unwrap_or_default(), credential: ice_server_config.credential.clone().unwrap_or_default(), - // NOTE: the RTCIceServer.credentialType field is - // deprecated/non-standard, and should not be used. - // See: https://developer.mozilla.org/en-US/docs/Web/API/RTCIceServer/credentialType - // - // MDN recommends setting only "credential", but webrtc-rs, on the - // other hand, will error if credential is present and - // `credential_type` is `Unspecified` So while our pubic API mirrors - // the web spec/MDN with non-standard fields removed (no - // credential_type), here we set the type to `Password` if and only - // if there is a `credential`, so webrtc-rs cooperates. - // - // In the future if webrtc-rs follows the spec more closely, this - // workaround can be removed. - credential_type: if ice_server_config.credential.is_some() { - RTCIceCredentialType::Password - } else { - RTCIceCredentialType::Unspecified - }, }], ..Default::default() };