According to the rfc, the meta field contains additional fields that weren't covered by the Meta struct. Of the additional fields, only external_account_required will be used in the near future, but others were added for completeness and the case that they might be used in the future.
Signed-off-by: Folke Gleumes <f.gleu...@proxmox.com> --- src/directory.rs | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/directory.rs b/src/directory.rs index 755ea8c..a9d31f2 100644 --- a/src/directory.rs +++ b/src/directory.rs @@ -47,6 +47,18 @@ pub struct Meta { /// The terms of service. This is typically in the form of an URL. #[serde(skip_serializing_if = "Option::is_none")] pub terms_of_service: Option<String>, + + /// Flag indicating if EAB is required, None is equivalent to false + #[serde(skip_serializing_if = "Option::is_none")] + pub external_account_required: Option<bool>, + + /// Website with information about the ACME Server + #[serde(skip_serializing_if = "Option::is_none")] + pub website: Option<String>, + + /// List of hostnames used by the CA, intended for the use with caa dns records + #[serde(skip_serializing_if = "Option::is_none")] + pub caa_identities: Option<Vec<String>>, } impl Directory { @@ -64,6 +76,17 @@ impl Directory { } } + /// Get if external account binding is required + pub fn external_account_binding_required(&self) -> bool { + matches!( + &self.data.meta, + Some(Meta { + external_account_required: Some(true), + .. + }) + ) + } + /// Get the "newNonce" URL. Use `HEAD` requests on this to get a new nonce. pub fn new_nonce_url(&self) -> &str { &self.data.new_nonce @@ -78,8 +101,6 @@ impl Directory { } /// Access to the in the Acme spec defined metadata structure. - /// Currently only contains the ToS URL already exposed via the `terms_of_service_url()` - /// method. pub fn meta(&self) -> Option<&Meta> { self.data.meta.as_ref() } -- 2.39.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel