# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [package] name = "rustdns" version = "0.4.0" authors = ["Andrew Brampton "] categories = ["encoding", "network-programming"] description = "A DNS parsing library" edition = "2018" keywords = ["dns", "idna", "serialization"] license = "Apache-2.0" readme = "README.md" repository = "https://github.com/bramp/rustdns" [workspace] members = [ "generate_tests", # Used to generate test data (by querying real servers) "dig", # Example dig client # "nslookup", # Example nslookup client ] [features] default = ["clients", "zones"] # Enable the DNS client clients = ["doh", "json", "tcp", "udp"] # DNS over HTTPS (DoH) client (rfc8484). doh = ["http_deps", "base64"] # DNS over HTTPS JSON client json = ["http_deps", "serde", "serde_json"] # DNS over TCP client tcp = [] # DNS over UDP client udp = [] # Enable the Zone Parser zones = ["pest", "pest_consume", "pest_derive"] # A private feature for common http dependencies. http_deps = ["http", "url", "hyper", "hyper-alpn", "mime"] [dependencies] # Used for the web clients http = { version = "0.2.5", optional = true } url = { version = "2.2.2", optional = true } hyper = { version = "0.14.16", features = ["client", "runtime", "http1", "http2"], optional = true } hyper-alpn = { version = "0.3.0", optional = true } mime = { version = "0.3.16", optional = true } # Needed for DNS over HTTP (DoH) base64 = { version = "0.13.0", optional = true } # Needed for DNS over HTTP Json serde = { version = "1.0.132", features = ["derive"], optional = true } serde_json = { version = "1.0.74", optional = true } # Needed for Zone file parsing pest = { version = "2.1.3", optional = true } pest_consume = { version = "1.1.1", optional = true } pest_derive = { version = "2.1.0", optional = true } # Everything else async-trait = "0.1.52" chrono = "0.4.19" byteorder = "1.4.3" bytes = "1.1.0" derivative = "2.2.0" idna = "0.2.3" lazy_static = "1.4.0" log = "0.4.14" num-derive = "0.3.3" num-traits = "0.2.14" rand = "0.8.4" regex = "1.5.4" strum = "0.23.0" strum_macros = "0.23.1" thiserror = "1.0.30" ### [dev-dependencies] env_logger = "0.9.0" hex = "0.4.3" pretty_assertions = "1.0.0" regex = "1.5.4" serde = { version = "1.0.132", features = ["derive"] } serde_yaml = "0.8.23" json_comments = "0.2.0" test-env-log = "0.2.8" tokio = { version = "1.15.0", features = ["macros", "rt-multi-thread"] } [package.metadata.cargo-all-features] skip_optional_dependencies = true denylist = ["http_deps"]