From 285a1544641b32b6afe3579537dad8e70f74aeaf Mon Sep 17 00:00:00 2001 From: Austin Schey Date: Tue, 26 Nov 2024 15:04:31 -0800 Subject: [PATCH] fix mtls --- Cargo.lock | 99 ------------------------ libplatune/player/Cargo.toml | 8 +- libplatune/player/src/player.rs | 7 +- libplatune/player/src/resolver/yt_dlp.rs | 2 +- 4 files changed, 14 insertions(+), 102 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0f75595a..1002308b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2276,21 +2276,6 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - [[package]] name = "form_urlencoded" version = "1.2.1" @@ -3246,22 +3231,6 @@ dependencies = [ "tower-service", ] -[[package]] -name = "hyper-tls" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" -dependencies = [ - "bytes", - "http-body-util", - "hyper", - "hyper-util", - "native-tls", - "tokio", - "tokio-native-tls", - "tower-service", -] - [[package]] name = "hyper-util" version = "0.1.10" @@ -4120,23 +4089,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "native-tls" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" -dependencies = [ - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - [[package]] name = "ndk" version = "0.8.0" @@ -4577,50 +4529,12 @@ version = "11.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" -[[package]] -name = "openssl" -version = "0.10.68" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" -dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", -] - [[package]] name = "openssl-probe" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" -[[package]] -name = "openssl-sys" -version = "0.9.104" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - [[package]] name = "option-ext" version = "0.2.0" @@ -5506,13 +5420,11 @@ dependencies = [ "http-body-util", "hyper", "hyper-rustls", - "hyper-tls", "hyper-util", "ipnet", "js-sys", "log", "mime", - "native-tls", "once_cell", "percent-encoding", "pin-project-lite", @@ -5527,7 +5439,6 @@ dependencies = [ "sync_wrapper 1.0.1", "system-configuration", "tokio", - "tokio-native-tls", "tokio-rustls", "tokio-util", "tower-service", @@ -7045,16 +6956,6 @@ dependencies = [ "syn 2.0.87", ] -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - [[package]] name = "tokio-rustls" version = "0.26.0" diff --git a/libplatune/player/Cargo.toml b/libplatune/player/Cargo.toml index f4f5c567..7ab90f1e 100644 --- a/libplatune/player/Cargo.toml +++ b/libplatune/player/Cargo.toml @@ -28,7 +28,13 @@ tokio = { version = "1", features = ["rt-multi-thread", "macros"] } tracing = "0.1" decal = { git = "https://github.com/aschey/decal", rev = "15d1d4fa5aae327c50b9e3cb22ab1b4fd84492ae" } reqwest-retry = "0.7.0" -reqwest = { version = "0.12", features = ["rustls-tls-native-roots"] } +# The default-tls feature seems to break mtls client auth in some cases +reqwest = { version = "0.12", default-features = false, features = [ + "charset", + "http2", + "macos-system-configuration", + "rustls-tls-native-roots", +] } reqwest-middleware = "0.4.0" async-trait = "0.1" youtube_dl = { git = "https://github.com/aschey/youtube-dl-rs", rev = "2a2533633ad2d6d718baf63e25b9b7d7c2a053d1", features = [ diff --git a/libplatune/player/src/player.rs b/libplatune/player/src/player.rs index 87b2b88c..217d0393 100644 --- a/libplatune/player/src/player.rs +++ b/libplatune/player/src/player.rs @@ -82,7 +82,12 @@ impl Player { } async fn get_source(&mut self, input: Input) -> Option> { - let (reader, cancellation_token) = self.source_resolver.find_match(input).await?.ok()?; + let (reader, cancellation_token) = self + .source_resolver + .find_match(input) + .await? + .tap_err(|e| error!("error resolving source: {e:?}")) + .ok()?; self.stream_cancellation_tokens .push_back(cancellation_token); Some(reader) diff --git a/libplatune/player/src/resolver/yt_dlp.rs b/libplatune/player/src/resolver/yt_dlp.rs index 7b050e72..4b20a1c6 100644 --- a/libplatune/player/src/resolver/yt_dlp.rs +++ b/libplatune/player/src/resolver/yt_dlp.rs @@ -93,7 +93,7 @@ impl RegistryEntry>> for YtDlpUrlResolver { Ok(vec![input]) } YoutubeDlOutput::Playlist(playlist) => { - info!("found playlist: {:?}", playlist); + info!("found playlist: {:?}", playlist.title); Ok(playlist .entries .unwrap_or_default()