[package]
edition = "2024"
name = "coapcore"
version = "0.1.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A CoAP stack for embedded devices with built-in OSCORE/EDHOC support"
readme = "README.md"
keywords = [
"coap",
"iot",
"edhoc",
"oscore",
]
categories = ["no-std"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ariel-os/ariel-os"
[package.metadata.docs.rs]
features = ["_nightly_docs"]
[features]
_nightly_docs = []
_test = []
default = ["liboscore-defaults"]
defmt = [
"dep:defmt",
"defmt-or-log/defmt",
"lakers/defmt",
]
liboscore-defaults = [
"liboscore-provide-abort",
"liboscore-provide-assert",
]
liboscore-provide-abort = ["liboscore/provide-abort"]
liboscore-provide-assert = ["liboscore/provide-assert"]
log = [
"dep:log",
"defmt-or-log/log",
]
[lib]
name = "coapcore"
path = "src/lib.rs"
[dependencies.aes]
version = "0.8.4"
default-features = false
[dependencies.arrayvec]
version = "0.7.4"
default-features = false
[dependencies.ccm]
version = "0.5.0"
default-features = false
[dependencies.coap-handler]
version = "0.2.0"
[dependencies.coap-message]
version = "0.3.2"
[dependencies.coap-message-implementations]
version = "0.1.2"
features = ["downcast"]
[dependencies.coap-message-utils]
version = "0.3.3"
[dependencies.coap-numbers]
version = "0.2.3"
[dependencies.defmt]
version = "1.0.0"
optional = true
[dependencies.defmt-or-log]
version = "0.2.2"
default-features = false
[dependencies.document-features]
version = "0.2.10"
[dependencies.heapless]
version = "0.9.0"
[dependencies.lakers]
version = "0.8.0"
default-features = false
[dependencies.lakers-crypto-rustcrypto]
version = "0.8.0"
[dependencies.liboscore]
version = "0.2.4"
default-features = false
[dependencies.log]
version = "0.4"
optional = true
[dependencies.minicbor]
version = "2"
features = ["derive"]
[dependencies.minicbor-adapters]
version = "0.0.8"
[dependencies.p256]
version = "0.13.2"
features = ["ecdsa"]
default-features = false
[dependencies.rand_core]
version = "0.9.3"
default-features = false
[lints.clippy]
doc_paragraphs_missing_punctuation = "warn"
indexing_slicing = "deny"
too_long_first_doc_paragraph = "warn"
too_many_lines = "allow"
undocumented_unsafe_blocks = "warn"
unused_result_ok = "deny"
unused_trait_names = "warn"
[lints.clippy.missing_safety_doc]
level = "warn"
priority = 0
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
private_bounds = "deny"
private_interfaces = "deny"
unexpected_cfgs = "allow"
unsafe_code = "deny"
unsafe_op_in_unsafe_fn = "deny"
unused_must_use = "deny"
[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1
[lints.rustdoc]
broken_intra_doc_links = "warn"