zeronsd 0.4.3

Unicast DNS resolver for ZeroTier networks
Documentation
[package]
name = "zeronsd"
version = "0.4.3"
authors = ["Erik Hollensbe <linux@hollensbe.org>", "Adam Ierymenko <adam.ierymenko@zerotier.com>"]
description = "Unicast DNS resolver for ZeroTier networks"
homepage = "https://github.com/zerotier/zeronsd"
repository = "https://github.com/zerotier/zeronsd"
documentation = "https://github.com/zerotier/zeronsd/blob/main/README.md"
license = "BSD-3-Clause"
readme = "README.md"
keywords = ["dns", "zerotier"]
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
regex = ">= 0"
anyhow = ">= 0"
clap = { version = "^3", features = ["derive"] }
ipnetwork = ">= 0"
trust-dns-resolver = { version = "^0.21.0", features = ["tokio-runtime", "dns-over-openssl"] }
trust-dns-server = { version = "^0.21.0", features = ["trust-dns-resolver", "dns-over-openssl"] }
tokio = { version = "1", features = ["full"] }
zerotier-central-api = { version = "= 1.0.3" }
zerotier-one-api = { version = "= 1.0.5" }
serde = ">= 0"
serde_json = ">= 0"
serde_yaml = ">= 0"
toml = ">=0"
tinytemplate = ">= 0"
rand = ">= 0"
num_cpus = ">=0"
tracing = "0.1"
tracing-log = "0.1"
tracing-subscriber = "0.2"
hex = ">=0"
openssl = ">= 0"
async-trait = ">=0"
lazy_static = ">=0"

[features]
vendored-openssl = [ "openssl/vendored" ]

[dev-dependencies]
ctor = ">=0"

[package.metadata.deb]
copyright = "ZeroTier, Inc"

extended-description = """
ZeroNS provides names that are a part of ZeroTier Central's
(https://my.zerotier.com) configured networks; once provided a network it:

- Listens on the local interface joined to that network -- you will want to
  start one ZeroNS per ZeroTier network.
- Provides general DNS by forwarding all queries to `/etc/resolv.conf`
  resolvers that do not match the TLD, similar to `dnsmasq`.
- Tells Central to point all clients that have the "Manage DNS" settings turned
  **on** to resolve to it.
- Finally, sets a provided TLD (`.home.arpa` is the default), as well as
  configuring `A` (IPv4) and `AAAA` (IPv6) records for:
  - Member IDs: `zt-<memberid>.<tld>` will resolve to the IPv4/v6 addresses for
    them.
  - Names: _if_ the names are compatible with DNS names, they will be converted
    as such: to `<name>.<tld>`.
    - Please note that **collisions are possible** and that it's _up to the
      admin to prevent them_.
"""

[package.metadata.generate-rpm]
assets = [ { source = "target/release/zeronsd", dest = "/usr/bin/zeronsd", mode = "755" } ]
requires = { openssl-libs = ">= 1.1.1g" }

[target.'cfg(windows)'.dependencies]
openssl = { version = ">=0", features = [ "vendored" ] }