memfaultd 1.26.1

Memfault daemon for embedded Linux systems. Observability, logging, crash reporting, and updating all in one service. Learn more at https://docs.memfault.com/
Documentation
# 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 = "2021"
rust-version = "1.80"
name = "memfaultd"
version = "1.26.1"
build = "build.rs"
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Memfault daemon for embedded Linux systems. Observability, logging, crash reporting, and updating all in one service. Learn more at https://docs.memfault.com/"
homepage = "https://github.com/memfault/memfaultd"
documentation = "https://docs.memfault.com/"
readme = "README.md"
license-file = "License.txt"
repository = "https://github.com/memfault/memfaultd"

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

[[bin]]
name = "memfaultd"
path = "src/bin/memfaultd.rs"

[[bin]]
name = "memfaultctl"
path = "src/bin/memfaultctl.rs"

[[bin]]
name = "memfault-core-handler"
path = "src/bin/memfault-core-handler.rs"

[[bin]]
name = "mfw"
path = "src/bin/mfw.rs"

[[bench]]
name = "log_level_mapper"
path = "benches/log_level_mapper.rs"
harness = false

[[bench]]
name = "logs_to_metrics"
path = "benches/logs_to_metrics.rs"
harness = false

[dependencies.argh]
version = "0.1.10"

[dependencies.bytes]
version = "1.10.1"

[dependencies.cfg-if]
version = "1.0.0"

[dependencies.chrono]
version = "0.4.23"
features = ["serde"]

[dependencies.ciborium]
version = "0.2.1"
optional = true

[dependencies.crc]
version = "3.0.1"

[dependencies.crc-catalog]
version = "2.2.0"

[dependencies.eyre]
version = "0.6.8"

[dependencies.flate2]
version = "1.0.28"
features = ["zlib"]
default-features = false

[dependencies.fs_extra]
version = "1.3.0"

[dependencies.futures]
version = "0.3.31"

[dependencies.getrandom]
version = "0.3"
optional = true

[dependencies.gimli]
version = "0.31"
features = ["read-all"]
optional = true
default-features = false

[dependencies.goblin]
version = "0.7"
features = [
    "elf32",
    "elf64",
    "std",
]
optional = true
default-features = false

[dependencies.governor]
version = "0.10.4"
features = ["std"]
default-features = false

[dependencies.itertools]
version = "0.10.5"

[dependencies.kernlog]
version = "0.3.1"
optional = true

[dependencies.lazy_static]
version = "1.5.0"

[dependencies.libc]
version = "0.2.138"

[dependencies.log]
version = "0.4"

[dependencies.memfaultc-sys]
version = "1.26.1"

[dependencies.nix]
version = "0.31.1"
features = [
    "process",
    "signal",
    "poll",
    "fs",
    "ioctl",
]
default-features = false

[dependencies.nom]
version = "7.1.3"

[dependencies.once_cell]
version = "1.17.0"

[dependencies.psm]
version = "0.1.21"
optional = true

[dependencies.rand]
version = "0.8.5"

[dependencies.regex]
version = "1.10.2"
optional = true

[dependencies.reqwest]
version = "0.12"
features = [
    "blocking",
    "json",
]
default-features = false

[dependencies.rmp-serde]
version = "1.1.1"
optional = true

[dependencies.rmpv]
version = "1.0.0"
optional = true

[dependencies.scroll]
version = "0.11"
optional = true

[dependencies.serde]
version = "1.0.150"
features = ["derive"]

[dependencies.serde_bytes]
version = "0.11.8"

[dependencies.serde_json]
version = "1.0.89"

[dependencies.serde_repr]
version = "0.1"

[dependencies.shuteye]
version = "0.3.3"

[dependencies.signal-hook]
version = "0.3.14"

[dependencies.ssf]
version = "1.26.1"
package = "memfault-ssf"

[dependencies.stderrlog]
version = "0.6.0"

[dependencies.strum]
version = "0.24"
features = ["derive"]

[dependencies.strum_macros]
version = "0.24"

[dependencies.syslog_loose]
version = "0.21.0"
optional = true

[dependencies.take_mut]
version = "0.2.2"

[dependencies.thiserror]
version = "1.0.38"

[dependencies.threadpool]
version = "1.8.1"

[dependencies.tiny_http]
version = "0.12.0"

[dependencies.tokio]
version = "1.43.1"
features = ["net"]

[dependencies.urlencoding]
version = "2.1.2"

[dependencies.uuid]
version = "1.3.0"
features = [
    "v4",
    "serde",
]

[dependencies.zip]
version = "1.1.4"
features = ["deflate"]
default-features = false

[dev-dependencies.approx]
version = "0.5.1"

[dev-dependencies.clap_builder]
version = "=4.4.18"

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.goblin]
version = "0.7"
features = [
    "elf32",
    "elf64",
    "std",
    "endian_fd",
]
default-features = false

[dev-dependencies.hex]
version = "0.4.3"

[dev-dependencies.insta]
version = "1.26.0"
features = [
    "json",
    "redactions",
]

[dev-dependencies.mockall]
version = "0.11.3"

[dev-dependencies.nom]
version = "7.1.3"

[dev-dependencies.rand]
version = "0.8.5"

[dev-dependencies.rstest]
version = "0.16.0"

[dev-dependencies.sealed_test]
version = "1.1.0"

[dev-dependencies.tempfile]
version = "3.3.0"

[dev-dependencies.zip]
version = "1.1.4"
features = ["deflate"]
default-features = false

[build-dependencies.cc]
version = "1.0"

[features]
coredump = [
    "memfaultc-sys/coredump",
    "dep:psm",
    "dep:kernlog",
    "dep:ciborium",
    "dep:goblin",
    "dep:scroll",
    "dep:gimli",
]
custom-rand = ["dep:getrandom"]
default = [
    "coredump",
    "logging",
    "systemd",
    "rust-tls",
    "syslog",
]
ebpf = [
    "dep:aya",
    "tokio/fs",
]
experimental = [
    "mfw",
    "ebpf",
]
logging = [
    "dep:rmp-serde",
    "dep:rmpv",
    "dep:regex",
]
mfw = []
openssl-tls = ["reqwest/native-tls"]
openssl-vendored-tls = ["reqwest/native-tls-vendored"]
rust-tls = ["reqwest/rustls-tls"]
swupdate = ["memfaultc-sys/swupdate"]
syslog = ["dep:syslog_loose"]
systemd = ["memfaultc-sys/systemd"]

[target.'cfg(target_os = "linux")'.dependencies.aya]
version = "0.13"
features = ["async_tokio"]
optional = true

[target.'cfg(target_os = "linux")'.dependencies.procfs]
version = "0.18"

[lints.clippy]
redundant_clone = "deny"
unwrap_used = "deny"