Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Java/Threema/domain/libthreema/lib/     Datei vom 25.3.2026 mit Größe 4 kB image not shown  

Quelle  Cargo.toml   Sprache: unbekannt

 
Spracherkennung für: .toml vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

[package]
name = "libthreema"
version = "0.1.0"
description = "A suite of protocol implementations, utilities and FFI bindings tailored for Threema clients"
authors = ["Threema GmbH"]
license = "AGPL-3.0-only"
readme = "../README.md"
edition = "2024"
repository = "<Insert URL when publishing>"
keywords = ["threema", "protocol", "messenger", "communication"]
categories = ["api-bindings", "cryptography"]

[lib]
name = "libthreema"
crate-type = ["lib", "staticlib", "cdylib"]

[lints]
workspace = true

[dependencies]
aead = { version = "0.5", default-features = false, features = [
    "alloc",
    "rand_core",
    "std",
] }
argon2 = { version = "0.5", default-features = false, features = ["alloc"] }
blake2 = { version = "0.10", default-features = false, features = [
    "std",
    # "zeroize",
] }
chacha20 = { version = "0.9", features = ["zeroize"] }
chacha20poly1305 = { version = "0.10", default-features = false, features = [
    "alloc",
] }
cipher = "0.4"
const_format = { version = "0.2", features = ["rust_1_64"] }
crypto_secretbox = { version = "0.1", default-features = false, features = [
    "alloc",
    "salsa20",
] }
data-encoding = "2"
digest = "0.10"
duplicate = "2"
ed25519-dalek = "2"
educe = { version = "0.6", default-features = false, features = ["Debug"] }
form_urlencoded = "1"
generic-array = "=0.14.7"
hmac = { version = "0.12", default-features = false }
itertools = "0.14"
libthreema-macros = { path = "../macros" }
pbkdf2 = "0.12"
poly1305 = { version = "0.8", default-features = false, features = ["zeroize"] }
prost = "0.14"
rand = "0.8"
regex = "1"
salsa20 = { version = "0.10", default-features = false, features = [
    "std",
    "zeroize",
] }
scrypt = { version = "0.11", default-features = false }
serde = { version = "1", features = ["alloc", "derive"] }
serde_json = "1"
serde_repr = "0.1"
sha2 = { version = "0.10", default-features = false, features = [
    "std",
    # "zeroize",
] }
strum = { version = "0.27", features = ["derive"] }
subtle = { version = "2", features = ["const-generics"] }
thiserror = "2"
tracing = "0.1"
x25519-dalek = { version = "2", features = [
    "reusable_secrets",
    "static_secrets",
    "zeroize",
] }
zeroize = "1"

# Bindings (UniFFi/WASM), CLI
tracing-subscriber = { version = "0.3", optional = true }

# Bindings: UniFFI
uniffi = { version = "0.30", optional = true }

# Bindings: WASM
getrandom = { version = "0.2", features = ["js"], optional = true }
js-sys = { version = "0.3", optional = true }
serde_bytes = { version = "0.11", optional = true }
tsify = { version = "0.5", features = ["js"], optional = true }
# When bumping the wasm-bindgen version, increase the `image` version in
# `.devcontainer/devcontainer.json` and `.gitlab-ci.yml`
wasm-bindgen = { version = "=0.2.105", optional = true }
web-time = { version = "1", optional = true }

# CLI
anyhow = { version = "1", optional = true }
clap = { version = "4", features = ["cargo", "derive"], optional = true }
futures-util = { version = "0.3", optional = true }
reqwest = { version = "0.12", default-features = false, features = [
    "http2",
    "rustls-tls",
], optional = true }
rustls = { version = "0.23", default-features = false, features = [
    "ring",
    "std",
], optional = true }
tokio = { version = "1", default-features = false, features = [
    "io-util",
    "macros",
    "net",
    "rt",
    "rt-multi-thread",
    "signal",
    "sync",
    "time",
], optional = true }
tokio-tungstenite = { version = "0.26", default-features = false, features = [
    "connect",
    "rustls-tls-webpki-roots",
], optional = true }

[dev-dependencies]
anyhow = "1"
assert_matches = "1.5"
derive_builder = "0.20"
rstest = "0.26"
rstest_reuse = "0.7"
tracing-subscriber = "0.3"

[build-dependencies]
prost-build = "0.14"
# Bindings: UniFFI
uniffi = { version = "0.30", features = ["build"], optional = true }

[features]
slow_tests = []
uniffi = ["dep:uniffi", "dep:tracing-subscriber"]
wasm = [
    "dep:getrandom",
    "dep:js-sys",
    "dep:serde_bytes",
    "dep:tracing-subscriber",
    "dep:tsify",
    "dep:wasm-bindgen",
    "dep:web-time",
]
cli = [
    "dep:anyhow",
    "dep:clap",
    "dep:futures-util",
    "dep:reqwest",
    "dep:rustls",
    "dep:tokio",
    "dep:tokio-tungstenite",
    "dep:tracing-subscriber",
]

[[example]]
name = "csp-e2e-receive"
path = "examples/bin/csp_e2e_receive.rs"
required-features = ["cli"]

[[example]]
name = "csp-login"
path = "examples/bin/csp_login.rs"
required-features = ["cli"]

[[example]]
name = "csp-ping-pong"
path = "examples/bin/csp_ping_pong.rs"
required-features = ["cli"]

[[example]]
name = "d2d-rendezvous"
path = "examples/bin/d2d_rendezvous.rs"
required-features = ["cli"]

[[example]]
name = "identity-create"
path = "examples/bin/identity_create.rs"
required-features = ["cli"]

[[example]]
name = "remote-secret"
path = "examples/bin/remote_secret.rs"
required-features = ["cli"]

[[example]]
name = "d2m-ping-pong"
path = "examples/bin/d2m_ping_pong.rs"
required-features = ["cli"]

[Dauer der Verarbeitung: 0.16 Sekunden, vorverarbeitet 2026-04-27]