mirror of
https://github.com/librespot-org/librespot.git
synced 2025-10-03 01:39:28 +02:00

Add support for choosing between native-tls and rustls-tls backends through feature flags, with native-tls as the default for maximum platform compatibility. Key changes: - Add mutually exclusive native-tls and rustls-tls feature flags - Use conditional compilation to select TLS implementation - Configure rustls-tls with platform certificate verifier - Refactor to workspace-based dependency management - Update CI workflows with improved cross-compilation support - Add comprehensive TLS backend documentation The native-tls backend uses system TLS libraries (OpenSSL on Linux, Secure Transport on macOS, SChannel on Windows) while rustls-tls provides a pure Rust implementation with platform certificate stores.
33 lines
916 B
TOML
33 lines
916 B
TOML
[package]
|
|
name = "librespot-audio"
|
|
version.workspace = true
|
|
rust-version.workspace = true
|
|
authors = ["Paul Lietar <paul@lietar.net>"]
|
|
license.workspace = true
|
|
description = "The audio fetching logic for librespot"
|
|
repository.workspace = true
|
|
edition.workspace = true
|
|
|
|
[features]
|
|
# Refer to the workspace Cargo.toml for the list of features
|
|
default = ["native-tls"]
|
|
|
|
# TLS backend propagation
|
|
native-tls = ["librespot-core/native-tls"]
|
|
rustls-tls = ["librespot-core/rustls-tls"]
|
|
|
|
[dependencies]
|
|
librespot-core.workspace = true
|
|
|
|
aes = "0.8"
|
|
bytes = "1"
|
|
ctr = "0.9"
|
|
futures-util = "0.3"
|
|
http-body-util = "0.1"
|
|
hyper = { version = "1.6", features = ["http1", "http2"] }
|
|
hyper-util = { version = "0.1", features = ["client", "http2"] }
|
|
log = "0.4"
|
|
parking_lot = { version = "0.12", features = ["deadlock_detection"] }
|
|
tempfile = "3"
|
|
thiserror = "2"
|
|
tokio = { version = "1", features = ["macros", "parking_lot", "sync"] }
|