X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Flib.rs;h=902f6a35853966c26ed8b99214863cad0d6c3052;hb=99c90e3e3a77d431e3c6b7149aa43f93a793f579;hp=b25eb999c7ed3db51c51bd3de8a2661b052aebdf;hpb=54a0563ea610ef8a2c1d19347f6417cd61e43917;p=dnssec-prover diff --git a/src/lib.rs b/src/lib.rs index b25eb99..902f6a3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -13,15 +13,28 @@ //! //! It is no-std (but requires `alloc`) and seeks to have minimal dependencies and a reasonably //! conservative MSRV policy, allowing it to be used in as many places as possible. +//! +//! Most of the crate's logic is feature-gated, and *all dependencies are optional*: +//! * By default, the `validate` feature is set, using `ring` to validate DNSSEC signatures and +//! proofs using the [`validation`] module. +//! * The `std` feature enables the [`query`] module, allowing for the building of proofs by +//! querying a recursive resolver over TCP. +//! * The `tokio` feature further enables async versions of the [`query`] methods, doing the same +//! querying async using `tokio`'s TCP streams. +//! * Finally, the crate can be built as a binary using the `build_server` feature, responding to +//! queries over HTTP GET calls to `/dnssecproof?d=domain.name.&t=RecordType` with DNSSEC +//! proofs. #![deny(missing_docs)] +#![deny(rustdoc::broken_intra_doc_links)] +#![deny(rustdoc::private_intra_doc_links)] #![cfg_attr(not(feature = "std"), no_std)] extern crate alloc; pub mod rr; -pub mod validation; -mod ser; - -#[cfg(feature = "std")] +pub mod ser; pub mod query; + +#[cfg(feature = "validation")] +pub mod validation;