[package] name = "rtrtr" version = "0.3.1-rc2" edition = "2021" rust-version = "1.70" authors = ["NLnet Labs "] description = "A versatile tool for managing route filters" repository = "https://github.com/NLnetLabs/rtrtr" keywords = ["rpki", "routing-security", "bgp"] license = "BSD-3-Clause" readme = "README.md" [dependencies] arbitrary = { version = "1", optional = true, features = ["derive"] } arc-swap = "1" bytes = "1" chrono = "0.4.31" clap = { version = "4.4", features = [ "cargo", "derive" ] } crossbeam-utils = "0.8.4" daemonbase = "0.1.2" futures-util = "0.3" http-body-util = "0.1" hyper = { version = "1.3.1", features = [ "server" ] } hyper-util = { version = "0.1", features = [ "server", "server-auto", "tokio" ] } log = "0.4" pin-project-lite = "0.2.4" rand = "0.8.3" reqwest = { version = "0.12.5", default-features = false, features = ["blocking", "rustls-tls"] } rpki = { version = "0.18.2", features = ["crypto", "rtr", "slurm"] } rustls-pemfile = "2.1.2" serde = { version = "1", features = ["derive"] } serde_json = "1" slab = "0.4.2" tokio = { version = "1.6", features = ["fs", "io-util", "macros", "net", "rt", "rt-multi-thread", "sync", "time"]} tokio-rustls = { version = "0.26.0", default-features = false, features = [ "ring", "logging", "tls12" ] } toml = "0.8.12" url = { version = "2.2", features = ["serde"] } webpki-roots = "0.26.3" [target.'cfg(unix)'.dependencies] nix = { version = "0.27.1", features = ["fs", "mman", "net", "process", "socket", "user"] } [features] default = [ "socks" ] arbitrary = [ "dep:arbitrary", "chrono/arbitrary", "rpki/arbitrary" ] socks = [ "reqwest/socks" ] [dev-dependencies] stderrlog = "0.6" rand_pcg = "0.3" [profile.release] panic = "abort" [package.metadata.deb] name = "rtrtr" maintainer = "The NLnet Labs RPKI Team " 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", "/lib/systemd/system-preset/50-rtrtr.preset", "644"], ] maintainer-scripts = "pkg/debian" changelog = "target/debian/changelog" # this will be generated by the pkg workflow copyright = "Copyright (c) 2021, NLnet Labs. All rights reserved." conf-files = ["/etc/rtrtr.conf"] systemd-units = { unit-name = "rtrtr", unit-scripts = "pkg/common", enable = false } [package.metadata.deb.variants.minimal] # Cross compilation variants: # Note: we have to specifiy dependencies manually because we don't run cargo-deb # on the target platform and so it cannot determine the dependencies correctly # for us. [package.metadata.deb.variants.minimal-cross] depends = "adduser, passwd" [package.metadata.generate-rpm] # "BSD" alone is the 3-clause license. Inheriting "license" from above causes rpmlint to # complain with "invalid-license". # See: https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing license = "BSD" assets = [ { source = "target/release/rtrtr", dest = "/usr/bin/rtrtr", mode = "755" }, { source = "target/rpm/rtrtr.service", dest = "/lib/systemd/system/rtrtr.service", mode = "644" }, { source = "README.md", dest = "/usr/share/doc/rtrtr/README.md", mode = "644", doc = true }, { source = "doc/rtrtr.1", dest = "/usr/share/man/man1/rtrtr.1", mode = "644", doc = true }, { source = "etc/rtrtr.conf.system-service", dest = "/etc/rtrtr.conf", mode = "644", config = true }, { source = "pkg/common/service.preset", dest = "/lib/systemd/system-preset/50-rtrtr.preset", mode = "644" }, ] # These get set using cargo-generate-rpm --set-metadata at package build time. #post_install_script = ... #pre_uninstall_script = ... #post_uninstall_script = ... # ensure that the useradd tool is present by depending on its package [package.metadata.generate-rpm.requires] shadow-utils = "*"