summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2022-11-09 10:28:47 +0200
committerLars Wirzenius <liw@liw.fi>2022-11-09 10:28:47 +0200
commit73bcd737cfb51d617db8d059b6269a7c5a0e3127 (patch)
tree7ad513c8dcfb73164dac01f30bd49aad7700a1ed
parent51c4336add802db55e79d6bd5029154aab1e230e (diff)
downloadsshca-73bcd737cfb51d617db8d059b6269a7c5a0e3127.tar.gz
refactor: use builder pattern to set host valid_until field
Sponsored-by: author
-rw-r--r--src/cmd/host.rs3
-rw-r--r--src/info.rs8
-rw-r--r--src/store.rs1
3 files changed, 7 insertions, 5 deletions
diff --git a/src/cmd/host.rs b/src/cmd/host.rs
index e75b592..d93bb3d 100644
--- a/src/cmd/host.rs
+++ b/src/cmd/host.rs
@@ -130,7 +130,7 @@ impl Runnable for New {
} else {
self.principals.to_vec()
};
- let host = info::Host::new(public, None, None, self.hostname.clone(), principals);
+ let host = info::Host::new(public, None, self.hostname.clone(), principals);
store.insert_host(host).map_err(CAError::KeyStoreError)?;
Ok(())
}
@@ -281,7 +281,6 @@ impl Runnable for Generate {
let host = info::Host::new(
pair.public().clone(),
Some(pair.private().clone()),
- None,
self.hostname.clone(),
principals,
);
diff --git a/src/info.rs b/src/info.rs
index f72f369..287f50c 100644
--- a/src/info.rs
+++ b/src/info.rs
@@ -70,19 +70,23 @@ impl Host {
pub fn new(
public: PublicKey,
private: Option<PrivateKey>,
- valid_until: Option<String>,
name: String,
principals: Vec<String>,
) -> Self {
Self {
public,
private,
- valid_until,
+ valid_until: None,
name,
principals,
}
}
+ pub fn valid_until(mut self, timestamp: String) -> Self {
+ self.valid_until = Some(timestamp);
+ self
+ }
+
pub fn name(&self) -> &str {
&self.name
}
diff --git a/src/store.rs b/src/store.rs
index 0ac4ff2..f3ed0d7 100644
--- a/src/store.rs
+++ b/src/store.rs
@@ -293,7 +293,6 @@ mod test {
Host::new(
PublicKey::new("dummy-public".into()),
Some(PrivateKey::new("dummy-private".into())),
- None,
"dummy-host".into(),
vec!["dummy-host".into()],
)