prettier documentation
diff --git a/src/client.rs b/src/client.rs
index 18a4e8e..06670dc 100644
--- a/src/client.rs
+++ b/src/client.rs
@@ -572,8 +572,7 @@
/// `ConfigBuilder` and set your own values.
///
/// ```
-/// use tuf::client::Config;
-///
+/// # use tuf::client::Config;
/// let config = Config::default();
/// assert_eq!(config.max_root_size(), &Some(1024 * 1024));
/// assert_eq!(config.max_timestamp_size(), &Some(32 * 1024));
diff --git a/src/interchange/mod.rs b/src/interchange/mod.rs
index b1ba409..f4f751c 100644
--- a/src/interchange/mod.rs
+++ b/src/interchange/mod.rs
@@ -222,8 +222,7 @@
type RawData = json::Value;
/// ```
- /// use tuf::interchange::{DataInterchange, Json};
- ///
+ /// # use tuf::interchange::{DataInterchange, Json};
/// assert_eq!(Json::extension(), "json");
/// ```
fn extension() -> &'static str {
@@ -231,9 +230,8 @@
}
/// ```
- /// use tuf::interchange::{DataInterchange, Json};
- /// use std::collections::HashMap;
- ///
+ /// # use tuf::interchange::{DataInterchange, Json};
+ /// # use std::collections::HashMap;
/// let jsn: &[u8] = br#"{"foo": "bar", "baz": "quux"}"#;
/// let raw = Json::from_reader(jsn).unwrap();
/// let out = Json::canonicalize(&raw).unwrap();
@@ -244,27 +242,26 @@
}
/// ```
- /// #[macro_use]
- /// extern crate serde_derive;
- /// #[macro_use]
- /// extern crate serde_json;
- /// extern crate tuf;
- ///
- /// use tuf::interchange::{DataInterchange, Json};
- /// use std::collections::HashMap;
- ///
+ /// # #[macro_use]
+ /// # extern crate serde_derive;
+ /// # #[macro_use]
+ /// # extern crate serde_json;
+ /// # extern crate tuf;
+ /// # use tuf::interchange::{DataInterchange, Json};
+ /// # use std::collections::HashMap;
+ /// #
/// #[derive(Deserialize, Debug, PartialEq)]
/// struct Thing {
/// foo: String,
/// bar: String,
/// }
///
- /// fn main() {
- /// let jsn = json!({"foo": "wat", "bar": "lol"});
- /// let thing = Thing { foo: "wat".into(), bar: "lol".into() };
- /// let de: Thing = Json::deserialize(&jsn).unwrap();
- /// assert_eq!(de, thing);
- /// }
+ /// # fn main() {
+ /// let jsn = json!({"foo": "wat", "bar": "lol"});
+ /// let thing = Thing { foo: "wat".into(), bar: "lol".into() };
+ /// let de: Thing = Json::deserialize(&jsn).unwrap();
+ /// assert_eq!(de, thing);
+ /// # }
/// ```
fn deserialize<T>(raw_data: &Self::RawData) -> Result<T>
where
@@ -274,27 +271,26 @@
}
/// ```
- /// #[macro_use]
- /// extern crate serde_derive;
- /// #[macro_use]
- /// extern crate serde_json;
- /// extern crate tuf;
- ///
- /// use tuf::interchange::{DataInterchange, Json};
- /// use std::collections::HashMap;
- ///
+ /// # #[macro_use]
+ /// # extern crate serde_derive;
+ /// # #[macro_use]
+ /// # extern crate serde_json;
+ /// # extern crate tuf;
+ /// # use tuf::interchange::{DataInterchange, Json};
+ /// # use std::collections::HashMap;
+ /// #
/// #[derive(Serialize)]
/// struct Thing {
/// foo: String,
/// bar: String,
/// }
///
- /// fn main() {
- /// let jsn = json!({"foo": "wat", "bar": "lol"});
- /// let thing = Thing { foo: "wat".into(), bar: "lol".into() };
- /// let se: serde_json::Value = Json::serialize(&thing).unwrap();
- /// assert_eq!(se, jsn);
- /// }
+ /// # fn main() {
+ /// let jsn = json!({"foo": "wat", "bar": "lol"});
+ /// let thing = Thing { foo: "wat".into(), bar: "lol".into() };
+ /// let se: serde_json::Value = Json::serialize(&thing).unwrap();
+ /// assert_eq!(se, jsn);
+ /// # }
/// ```
fn serialize<T>(data: &T) -> Result<Self::RawData>
where
@@ -304,8 +300,7 @@
}
/// ```
- /// use tuf::interchange::{DataInterchange, Json};
- ///
+ /// # use tuf::interchange::{DataInterchange, Json};
/// let arr = vec![1, 2, 3];
/// let mut buf = Vec::new();
/// Json::to_writer(&mut buf, &arr).unwrap();
@@ -322,9 +317,8 @@
}
/// ```
- /// use tuf::interchange::{DataInterchange, Json};
- /// use std::collections::HashMap;
- ///
+ /// # use tuf::interchange::{DataInterchange, Json};
+ /// # use std::collections::HashMap;
/// let jsn: &[u8] = br#"{"foo": "bar", "baz": "quux"}"#;
/// let _: HashMap<String, String> = Json::from_reader(jsn).unwrap();
/// ```
diff --git a/src/lib.rs b/src/lib.rs
index 388fcfb..5b4d31f 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -76,14 +76,14 @@
//! The top-level targets role delegates to three other roles and are listed in the following order:
//!
//! 1. `claimed-projects`
-//! - `terminating: true`
+//! - Terminating
//! - Delegates to project-specific roles that have registered keys with TUF
//! 2. `rarely-updated-projects`
-//! - `terminating: true`
+//! - Terminating
//! - Signs all packages for all projects that have been "abandoned" or left unupdated for a long
//! time AND have not yet registered keys with TUF
//! 3. `new-projects`
-//! - `terminating: false`
+//! - Non-terminating
//! - Signs all packages for all new projects as well as projects that were relegated to
//! `rarely-updated-projects`
//!
diff --git a/src/metadata.rs b/src/metadata.rs
index b8420e1..ac6e9a7 100644
--- a/src/metadata.rs
+++ b/src/metadata.rs
@@ -242,27 +242,27 @@
/// bytes of the provided metadata with the provided scheme.
///
/// ```
- /// extern crate chrono;
- /// extern crate tuf;
+ /// # extern crate chrono;
+ /// # extern crate tuf;
+ /// #
+ /// # use chrono::prelude::*;
+ /// # use tuf::crypto::{PrivateKey, SignatureScheme, HashAlgorithm};
+ /// # use tuf::interchange::Json;
+ /// # use tuf::metadata::{MetadataDescription, TimestampMetadata, SignedMetadata};
+ /// #
+ /// # fn main() {
+ /// # let key: &[u8] = include_bytes!("../tests/ed25519/ed25519-1.pk8.der");
+ /// let key = PrivateKey::from_pkcs8(&key, SignatureScheme::Ed25519).unwrap();
///
- /// use chrono::prelude::*;
- /// use tuf::crypto::{PrivateKey, SignatureScheme, HashAlgorithm};
- /// use tuf::interchange::Json;
- /// use tuf::metadata::{MetadataDescription, TimestampMetadata, SignedMetadata};
+ /// let timestamp = TimestampMetadata::new(
+ /// 1,
+ /// Utc.ymd(2017, 1, 1).and_hms(0, 0, 0),
+ /// MetadataDescription::from_reader(&*vec![0x01, 0x02, 0x03], 1,
+ /// &[HashAlgorithm::Sha256]).unwrap()
+ /// ).unwrap();
///
- /// fn main() {
- /// let key: &[u8] = include_bytes!("../tests/ed25519/ed25519-1.pk8.der");
- /// let key = PrivateKey::from_pkcs8(&key, SignatureScheme::Ed25519).unwrap();
- ///
- /// let timestamp = TimestampMetadata::new(
- /// 1,
- /// Utc.ymd(2017, 1, 1).and_hms(0, 0, 0),
- /// MetadataDescription::from_reader(&*vec![0x01, 0x02, 0x03], 1,
- /// &[HashAlgorithm::Sha256]).unwrap()
- /// ).unwrap();
- ///
- /// SignedMetadata::<Json, TimestampMetadata>::new(×tamp, &key).unwrap();
- /// }
+ /// SignedMetadata::<Json, TimestampMetadata>::new(×tamp, &key).unwrap();
+ /// # }
/// ```
pub fn new(
metadata: &M,
@@ -288,38 +288,38 @@
/// to perform the "append" operations.
///
/// ```
- /// extern crate chrono;
- /// extern crate tuf;
+ /// # extern crate chrono;
+ /// # extern crate tuf;
+ /// #
+ /// # use chrono::prelude::*;
+ /// # use tuf::crypto::{PrivateKey, SignatureScheme, HashAlgorithm};
+ /// # use tuf::interchange::Json;
+ /// # use tuf::metadata::{MetadataDescription, TimestampMetadata, SignedMetadata};
+ /// #
+ /// # fn main() {
+ /// let key_1: &[u8] = include_bytes!("../tests/ed25519/ed25519-1.pk8.der");
+ /// let key_1 = PrivateKey::from_pkcs8(&key_1, SignatureScheme::Ed25519).unwrap();
///
- /// use chrono::prelude::*;
- /// use tuf::crypto::{PrivateKey, SignatureScheme, HashAlgorithm};
- /// use tuf::interchange::Json;
- /// use tuf::metadata::{MetadataDescription, TimestampMetadata, SignedMetadata};
+ /// // Note: This is for demonstration purposes only.
+ /// // You should never have multiple private keys on the same device.
+ /// let key_2: &[u8] = include_bytes!("../tests/ed25519/ed25519-2.pk8.der");
+ /// let key_2 = PrivateKey::from_pkcs8(&key_2, SignatureScheme::Ed25519).unwrap();
///
- /// fn main() {
- /// let key_1: &[u8] = include_bytes!("../tests/ed25519/ed25519-1.pk8.der");
- /// let key_1 = PrivateKey::from_pkcs8(&key_1, SignatureScheme::Ed25519).unwrap();
+ /// let timestamp = TimestampMetadata::new(
+ /// 1,
+ /// Utc.ymd(2017, 1, 1).and_hms(0, 0, 0),
+ /// MetadataDescription::from_reader(&*vec![0x01, 0x02, 0x03], 1,
+ /// &[HashAlgorithm::Sha256]).unwrap()
+ /// ).unwrap();
+ /// let mut timestamp = SignedMetadata::<Json, TimestampMetadata>::new(
+ /// ×tamp, &key_1).unwrap();
///
- /// // Note: This is for demonstration purposes only.
- /// // You should never have multiple private keys on the same device.
- /// let key_2: &[u8] = include_bytes!("../tests/ed25519/ed25519-2.pk8.der");
- /// let key_2 = PrivateKey::from_pkcs8(&key_2, SignatureScheme::Ed25519).unwrap();
+ /// timestamp.add_signature(&key_2).unwrap();
+ /// assert_eq!(timestamp.signatures().len(), 2);
///
- /// let timestamp = TimestampMetadata::new(
- /// 1,
- /// Utc.ymd(2017, 1, 1).and_hms(0, 0, 0),
- /// MetadataDescription::from_reader(&*vec![0x01, 0x02, 0x03], 1,
- /// &[HashAlgorithm::Sha256]).unwrap()
- /// ).unwrap();
- /// let mut timestamp = SignedMetadata::<Json, TimestampMetadata>::new(
- /// ×tamp, &key_1).unwrap();
- ///
- /// timestamp.add_signature(&key_2).unwrap();
- /// assert_eq!(timestamp.signatures().len(), 2);
- ///
- /// timestamp.add_signature(&key_2).unwrap();
- /// assert_eq!(timestamp.signatures().len(), 2);
- /// }
+ /// timestamp.add_signature(&key_2).unwrap();
+ /// assert_eq!(timestamp.signatures().len(), 2);
+ /// # }
/// ```
pub fn add_signature(
&mut self,
@@ -379,55 +379,55 @@
/// Verify this metadata.
///
/// ```
- /// extern crate chrono;
- /// #[macro_use]
- /// extern crate maplit;
- /// extern crate tuf;
+ /// # extern crate chrono;
+ /// # #[macro_use]
+ /// # extern crate maplit;
+ /// # extern crate tuf;
///
- /// use chrono::prelude::*;
- /// use tuf::crypto::{PrivateKey, SignatureScheme, HashAlgorithm};
- /// use tuf::interchange::Json;
- /// use tuf::metadata::{MetadataDescription, TimestampMetadata, SignedMetadata};
+ /// # use chrono::prelude::*;
+ /// # use tuf::crypto::{PrivateKey, SignatureScheme, HashAlgorithm};
+ /// # use tuf::interchange::Json;
+ /// # use tuf::metadata::{MetadataDescription, TimestampMetadata, SignedMetadata};
///
- /// fn main() {
- /// let key_1: &[u8] = include_bytes!("../tests/ed25519/ed25519-1.pk8.der");
- /// let key_1 = PrivateKey::from_pkcs8(&key_1, SignatureScheme::Ed25519).unwrap();
+ /// # fn main() {
+ /// let key_1: &[u8] = include_bytes!("../tests/ed25519/ed25519-1.pk8.der");
+ /// let key_1 = PrivateKey::from_pkcs8(&key_1, SignatureScheme::Ed25519).unwrap();
///
- /// let key_2: &[u8] = include_bytes!("../tests/ed25519/ed25519-2.pk8.der");
- /// let key_2 = PrivateKey::from_pkcs8(&key_2, SignatureScheme::Ed25519).unwrap();
+ /// let key_2: &[u8] = include_bytes!("../tests/ed25519/ed25519-2.pk8.der");
+ /// let key_2 = PrivateKey::from_pkcs8(&key_2, SignatureScheme::Ed25519).unwrap();
///
- /// let timestamp = TimestampMetadata::new(
- /// 1,
- /// Utc.ymd(2017, 1, 1).and_hms(0, 0, 0),
- /// MetadataDescription::from_reader(&*vec![0x01, 0x02, 0x03], 1,
- /// &[HashAlgorithm::Sha256]).unwrap()
- /// ).unwrap();
- /// let timestamp = SignedMetadata::<Json, TimestampMetadata>::new(
- /// ×tamp, &key_1).unwrap();
+ /// let timestamp = TimestampMetadata::new(
+ /// 1,
+ /// Utc.ymd(2017, 1, 1).and_hms(0, 0, 0),
+ /// MetadataDescription::from_reader(&*vec![0x01, 0x02, 0x03], 1,
+ /// &[HashAlgorithm::Sha256]).unwrap()
+ /// ).unwrap();
+ /// let timestamp = SignedMetadata::<Json, TimestampMetadata>::new(
+ /// ×tamp, &key_1).unwrap();
///
- /// assert!(timestamp.verify(
- /// 1,
- /// vec![key_1.public()],
- /// ).is_ok());
+ /// assert!(timestamp.verify(
+ /// 1,
+ /// vec![key_1.public()],
+ /// ).is_ok());
///
- /// // fail with increased threshold
- /// assert!(timestamp.verify(
- /// 2,
- /// vec![key_1.public()],
- /// ).is_err());
+ /// // fail with increased threshold
+ /// assert!(timestamp.verify(
+ /// 2,
+ /// vec![key_1.public()],
+ /// ).is_err());
///
- /// // fail when the keys aren't authorized
- /// assert!(timestamp.verify(
- /// 1,
- /// vec![key_2.public()],
- /// ).is_err());
+ /// // fail when the keys aren't authorized
+ /// assert!(timestamp.verify(
+ /// 1,
+ /// vec![key_2.public()],
+ /// ).is_err());
///
- /// // fail when the keys don't exist
- /// assert!(timestamp.verify(
- /// 1,
- /// &[],
- /// ).is_err());
- /// }
+ /// // fail when the keys don't exist
+ /// assert!(timestamp.verify(
+ /// 1,
+ /// &[],
+ /// ).is_err());
+ /// # }
pub fn verify<'a, I>(&self, threshold: u32, authorized_keys: I) -> Result<()>
where
I: IntoIterator<Item = &'a PublicKey>,
@@ -696,8 +696,7 @@
/// Create a new `MetadataPath` from a `String`.
///
/// ```
- /// use tuf::metadata::MetadataPath;
- ///
+ /// # use tuf::metadata::MetadataPath;
/// assert!(MetadataPath::new("foo".into()).is_ok());
/// assert!(MetadataPath::new("/foo".into()).is_err());
/// assert!(MetadataPath::new("../foo".into()).is_err());
@@ -715,8 +714,7 @@
/// Create a metadata path from the given role.
///
/// ```
- /// use tuf::metadata::{Role, MetadataPath};
- ///
+ /// # use tuf::metadata::{Role, MetadataPath};
/// assert_eq!(MetadataPath::from_role(&Role::Root),
/// MetadataPath::new("root".into()).unwrap());
/// assert_eq!(MetadataPath::from_role(&Role::Snapshot),
@@ -734,10 +732,10 @@
/// Windows paths.
///
/// ```
- /// use tuf::crypto::HashValue;
- /// use tuf::interchange::Json;
- /// use tuf::metadata::{MetadataPath, MetadataVersion};
- ///
+ /// # use tuf::crypto::HashValue;
+ /// # use tuf::interchange::Json;
+ /// # use tuf::metadata::{MetadataPath, MetadataVersion};
+ /// #
/// let path = MetadataPath::new("foo/bar".into()).unwrap();
/// assert_eq!(path.components::<Json>(&MetadataVersion::None),
/// ["foo".to_string(), "bar.json".to_string()]);
@@ -1009,8 +1007,7 @@
/// Create a new `TargetPath` from a `String`.
///
/// ```
- /// use tuf::metadata::TargetPath;
- ///
+ /// # use tuf::metadata::TargetPath;
/// assert!(TargetPath::new("foo".into()).is_ok());
/// assert!(TargetPath::new("/foo".into()).is_err());
/// assert!(TargetPath::new("../foo".into()).is_err());
@@ -1029,8 +1026,7 @@
/// Windows paths.
///
/// ```
- /// use tuf::metadata::TargetPath;
- ///
+ /// # use tuf::metadata::TargetPath;
/// let path = TargetPath::new("foo/bar".into()).unwrap();
/// assert_eq!(path.components(), ["foo".to_string(), "bar".to_string()]);
/// ```
@@ -1041,8 +1037,7 @@
/// Return whether this path is the child of another path.
///
/// ```
- /// use tuf::metadata::TargetPath;
- ///
+ /// # use tuf::metadata::TargetPath;
/// let path1 = TargetPath::new("foo".into()).unwrap();
/// let path2 = TargetPath::new("foo/bar".into()).unwrap();
/// assert!(!path2.is_child(&path1));