[package]
edition = "2021"
rust-version = "1.88.0"
name = "rtrtr"
version = "0.3.3"
authors = ["NLnet Labs <rpki-team@nlnetlabs.nl>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A versatile tool for managing route filters"
readme = "README.md"
keywords = [
"rpki",
"routing-security",
"bgp",
]
license = "BSD-3-Clause"
repository = "https://github.com/NLnetLabs/rtrtr"
[package.metadata.deb]
name = "rtrtr"
maintainer = "The NLnet Labs RPKI Team <rpki@nlnetlabs.nl>"
license-file = [
"LICENSE",
"0",
]
extended-description = "RTRTR is an RPKI data proxy, designed to collect Validated ROA Payloads from one or more sources in multiple formats and dispatch it onwards. It provides the means to implement multiple distribution architectures for RPKI such as centralised RPKI validators that dispatch data to local caching RTR servers. "
depends = "$auto, passwd"
section = "net"
priority = "optional"
assets = [
[
"target/release/rtrtr",
"usr/bin/",
"755",
],
[
"README.md",
"usr/share/doc/rtrtr/",
"644",
],
[
"doc/rtrtr.1",
"usr/share/man/man1/rtrtr.1",
"644",
],
[
"etc/rtrtr.conf.system-service",
"etc/rtrtr.conf",
"644",
],
[
"pkg/common/service.preset",
"/usr/lib/systemd/system-preset/50-rtrtr.preset",
"644",
],
]
maintainer-scripts = "pkg/debian"
changelog = "target/debian/changelog"
copyright = "Copyright (c) 2021, NLnet Labs. All rights reserved."
conf-files = ["/etc/rtrtr.conf"]
[package.metadata.deb.systemd-units]
unit-name = "rtrtr"
unit-scripts = "pkg/common"
enable = false
[package.metadata.deb.variants.ubuntu-jammy.systemd-units]
unit-name = "rtrtr"
unit-scripts = "pkg/common"
enable = false
usr-merge = false
[package.metadata.deb.variants.debian-buster.systemd-units]
unit-name = "rtrtr"
unit-scripts = "pkg/common"
enable = false
usr-merge = false
[package.metadata.deb.variants.debian-bullseye.systemd-units]
unit-name = "rtrtr"
unit-scripts = "pkg/common"
enable = false
usr-merge = false
[package.metadata.deb.variants.debian-bullseye-armv7-unknown-linux-musleabihf.systemd-units]
unit-name = "rtrtr"
unit-scripts = "pkg/common"
enable = false
usr-merge = false
[package.metadata.deb.variants.minimal]
[package.metadata.deb.variants.minimal-cross]
depends = "adduser, passwd"
[package.metadata.generate-rpm]
license = "BSD"
[[package.metadata.generate-rpm.assets]]
source = "target/release/rtrtr"
dest = "/usr/bin/rtrtr"
mode = "755"
[[package.metadata.generate-rpm.assets]]
source = "target/rpm/rtrtr.service"
dest = "/usr/lib/systemd/system/rtrtr.service"
mode = "644"
[[package.metadata.generate-rpm.assets]]
source = "README.md"
dest = "/usr/share/doc/rtrtr/README.md"
mode = "644"
doc = true
[[package.metadata.generate-rpm.assets]]
source = "doc/rtrtr.1"
dest = "/usr/share/man/man1/rtrtr.1"
mode = "644"
doc = true
[[package.metadata.generate-rpm.assets]]
source = "etc/rtrtr.conf.system-service"
dest = "/etc/rtrtr.conf"
mode = "644"
config = true
[[package.metadata.generate-rpm.assets]]
source = "pkg/common/service.preset"
dest = "/usr/lib/systemd/system-preset/50-rtrtr.preset"
mode = "644"
[package.metadata.generate-rpm.requires]
shadow-utils = "*"
[features]
arbitrary = [
"dep:arbitrary",
"chrono/arbitrary",
"rpki/arbitrary",
]
default = ["socks"]
native-tls = ["reqwest/native-tls"]
native-tls-vendored = ["reqwest/native-tls-vendored"]
socks = ["reqwest/socks"]
[lib]
name = "rtrtr"
path = "src/lib.rs"
[[bin]]
name = "rtrtr"
path = "src/main.rs"
[dependencies.arbitrary]
version = "1"
features = ["derive"]
optional = true
[dependencies.arc-swap]
version = "1"
[dependencies.bytes]
version = "1"
[dependencies.chrono]
version = "0.4.31"
[dependencies.clap]
version = "4"
features = [
"cargo",
"derive",
]
[dependencies.crossbeam-utils]
version = "0.8.4"
[dependencies.daemonbase]
version = "0.1.3"
[dependencies.futures-util]
version = "0.3"
[dependencies.http-body-util]
version = "0.1"
[dependencies.hyper]
version = "1.3.1"
features = ["server"]
[dependencies.hyper-util]
version = "0.1"
features = [
"server",
"server-auto",
"tokio",
]
[dependencies.log]
version = "0.4"
[dependencies.pin-project-lite]
version = "0.2.4"
[dependencies.rand]
version = "0.9.1"
[dependencies.reqwest]
version = "0.13.1"
features = [
"blocking",
"rustls",
]
default-features = false
[dependencies.rpki]
version = "0.19.2"
features = [
"crypto",
"rtr",
"slurm",
]
[dependencies.rustls-pemfile]
version = "2.1.2"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.slab]
version = "0.4.2"
[dependencies.tokio]
version = "1.6"
features = [
"fs",
"io-util",
"macros",
"net",
"rt",
"rt-multi-thread",
"sync",
"time",
]
[dependencies.tokio-rustls]
version = "0.26.0"
features = [
"ring",
"logging",
"tls12",
]
default-features = false
[dependencies.toml]
version = "0.9.8"
[dependencies.url]
version = "2.2"
features = ["serde"]
[dependencies.webpki-roots]
version = "1.0.5"
[dev-dependencies.rand_pcg]
version = "0.9"
[dev-dependencies.stderrlog]
version = "0.6"
[target."cfg(unix)".dependencies.nix]
version = "0.31.0"
features = [
"fs",
"mman",
"net",
"process",
"socket",
"user",
]
[profile.release]
panic = "abort"