# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "kithara-drm"
version = "0.0.1-alpha3"
authors = ["kithara contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "AES-128 DRM decryption for streaming audio, extensible keys."
readme = "README.md"
keywords = [
    "drm",
    "aes",
    "audio",
    "hls",
    "streaming",
]
categories = [
    "multimedia::audio",
    "cryptography",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/zvuk/kithara"
resolver = "2"

[package.metadata.cargo-machete]
ignored = ["kithara-workspace-hack"]

[lib]
name = "kithara_drm"
path = "src/lib.rs"

[dependencies.aes]
version = "0.9.1"

[dependencies.bon]
version = "3.9"

[dependencies.bytes]
version = "1.12.0"

[dependencies.cbc]
version = "0.2.1"

[dependencies.thiserror]
version = "2.0.18"

[dependencies.tracing]
version = "0.1.44"

[dependencies.url]
version = "2.5.8"

[dev-dependencies.wasm-bindgen-test]
version = "0.3"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]

[lints.clippy]
allow_attributes = "deny"
approx_constant = "warn"
cast_lossless = "warn"
cast_possible_truncation = "warn"
cast_precision_loss = "warn"
cast_sign_loss = "warn"
cloned_instead_of_copied = "deny"
cognitive_complexity = "warn"
default_constructed_unit_structs = "warn"
default_trait_access = "warn"
derivable_impls = "warn"
derive_ord_xor_partial_ord = "warn"
derive_partial_eq_without_eq = "warn"
derived_hash_with_manual_eq = "warn"
doc_markdown = "warn"
explicit_into_iter_loop = "warn"
explicit_iter_loop = "warn"
flat_map_option = "warn"
ignored_unit_patterns = "allow"
impl_trait_in_params = "warn"
inconsistent_struct_constructor = "warn"
inherent_to_string = "warn"
items_after_statements = "warn"
manual_let_else = "warn"
manual_map = "deny"
map_identity = "deny"
map_unwrap_or = "warn"
match_same_arms = "warn"
match_wildcard_for_single_variants = "warn"
missing_errors_doc = "warn"
missing_fields_in_debug = "warn"
missing_panics_doc = "warn"
must_use_candidate = "warn"
mut_mut = "warn"
needless_borrow = "deny"
needless_for_each = "warn"
needless_lifetimes = "deny"
needless_pass_by_value = "warn"
needless_range_loop = "deny"
non_canonical_partial_ord_impl = "warn"
option_if_let_else = "warn"
or_fun_call = "warn"
partialeq_ne_impl = "warn"
ptr_arg = "deny"
question_mark = "deny"
redundant_closure_for_method_calls = "warn"
redundant_else = "warn"
search_is_some = "deny"
semicolon_if_nothing_returned = "warn"
significant_drop_tightening = "warn"
single_match_else = "warn"
to_string_trait_impl = "warn"
too_many_arguments = "warn"
too_many_lines = "warn"
trivially_copy_pass_by_ref = "warn"
type_complexity = "warn"
undocumented_unsafe_blocks = "deny"
unnecessary_wraps = "warn"
unused_self = "warn"
unwrap_used = "deny"
use_self = "warn"

[lints.rust]
unreachable_pub = "warn"
unused_qualifications = "warn"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(rtsan)"]

[lints.rustdoc]
broken_intra_doc_links = "deny"
