[package]
name = "ockam_transport_tcp"
version = "0.134.0"
authors = ["Ockam Developers"]
autoexamples = false
categories = [
"cryptography",
"asynchronous",
"authentication",
"network-programming",
"embedded",
]
edition = "2021"
homepage = "https://github.com/build-trust/ockam"
keywords = ["ockam", "crypto", "network", "networking", "tcp"]
license = "Apache-2.0"
publish = true
readme = "README.md"
repository = "https://github.com/build-trust/ockam/implementations/rust/ockam/ockam_transport_tcp"
rust-version = "1.70.0"
description = """
TCP Transport for the Ockam Routing Protocol.
"""
[features]
default = ["std", "ring", "privileged_portals"]
std = ["ockam_macros/std", "ockam_transport_core/std", "minicbor/std", "opentelemetry", "binary-layout?/std"]
no_std = ["ockam_macros/no_std", "ockam_transport_core/no_std"]
alloc = ["minicbor/alloc"]
aws-lc = ["tokio-rustls/aws-lc-rs"]
ring = ["tokio-rustls/ring"]
privileged_portals = ["ockam_ebpf", "aya", "aya-log", "binary-layout", "caps", "nix"]
[build-dependencies]
cfg_aliases = "0.2.1"
[dependencies]
async-trait = "0.1.82"
cfg-if = "1.0.0"
log = "0.4.21"
minicbor = { version = "0.25.1", default-features = false, features = ["derive"] }
ockam_core = { path = "../ockam_core", version = "^0.123.0" }
ockam_ebpf = { version = "0.6.0", optional = true }
ockam_macros = { path = "../ockam_macros", version = "^0.36.0" }
ockam_node = { path = "../ockam_node", version = "^0.136.0" }
ockam_transport_core = { path = "../ockam_transport_core", version = "^0.100.0" }
opentelemetry = { version = "0.26.0", features = ["logs", "metrics", "trace"], optional = true }
rand = "0.8"
rustls = { version = "0.23", default-features = false }
rustls-native-certs = "0.8"
rustls-pemfile = "2.1"
serde = { version = "1.0", default-features = false, features = ["derive"] }
socket2 = { version = "0.5.6", features = ["all"] }
tokio = { version = "1.41", features = ["rt-multi-thread", "sync", "net", "macros", "time", "io-util"] }
tokio-rustls = { version = "0.26", default-features = false, features = ["logging", "tls12"] }
tracing = { version = "0.1", default-features = false }
[target.'cfg( target_os = "linux" )'.dependencies]
aya = { version = "=0.13.0", default-features = false, optional = true }
aya-log = { version = "=0.2.1", default-features = false, optional = true }
aya-log-common = { version = "=0.1.15", default-features = false, optional = true }
caps = { version = "0.5.5", default-features = false, optional = true }
[target.'cfg( any(target_os = "linux", target_os = "macos") )'.dependencies]
binary-layout = { version = "4.0.2", default-features = false, optional = true }
nix = { version = "0.29", default-features = false, features = ["net", "user", "resource"], optional = true }