From 41ba88c0b6b12bf17b2f42d4ae2ff0d04648f9e5 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Tue, 21 Jan 2025 09:48:50 +0100 Subject: [PATCH] refactor: create fixed chain using reference to certs --- src/lib.rs | 6 +++--- ui/src/main.rs | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index fb5cf20..3381309 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -285,8 +285,8 @@ impl Chain { Self { certs } } - pub fn fixed_from(certs: Vec) -> Result { - let mut certs = certs.iter().collect::>(); + pub fn create_fixed(certs: &[Certificate]) -> Result { + let mut certs = certs.to_vec(); certs.sort_by(|cert1, cert2| { if cert1.subject_key_id() == cert2.authority_key_id() { Ordering::Greater @@ -294,7 +294,7 @@ impl Chain { Ordering::Less } }); - let chain = Chain::from(certs.iter().unique().map(|&c| c.clone()).collect::>()); + let chain = Chain::from(certs.iter().unique().cloned().collect::>()); if !chain.is_valid() { return Err("Cannot merge files to valid chain - giving up!".to_string()); } diff --git a/ui/src/main.rs b/ui/src/main.rs index 88f9b06..a634cbd 100644 --- a/ui/src/main.rs +++ b/ui/src/main.rs @@ -104,7 +104,7 @@ impl Ui { _ => None, }; self.fixed_chain = match &self.chain { - Some(chain) => match Chain::fixed_from(chain.certs().to_vec()) { + Some(chain) => match Chain::create_fixed(chain.certs()) { Ok(chain) => Some(chain), _ => None, }, @@ -130,7 +130,7 @@ impl Ui { _ => None, }; self.fixed_chain = match &self.chain { - Some(chain) => match Chain::fixed_from(chain.certs().to_vec()) { + Some(chain) => match Chain::create_fixed(chain.certs()) { Ok(chain) => Some(chain), _ => None, }, @@ -156,7 +156,7 @@ impl Ui { _ => None, }; self.fixed_chain = match &self.chain { - Some(chain) => match Chain::fixed_from(chain.certs().to_vec()) { + Some(chain) => match Chain::create_fixed(chain.certs()) { Ok(chain) => Some(chain), _ => None, },