all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pmg-devel] [PATCH proxmox-acme-rs/pmg-rs] fix #3688: allow missing 'meta' property for acme directories
@ 2021-10-21  9:10 Dominik Csapak
  2021-10-21  9:10 ` [pmg-devel] [PATCH proxmox-acme-rs 1/1] directory: make meta object optional Dominik Csapak
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Dominik Csapak @ 2021-10-21  9:10 UTC (permalink / raw)
  To: pmg-devel

like we already do in pve, also make the 'meta' property optional

NOTE: the code compiles, but the actual code path is untested, sending it with the
intention to test on a patched pebble instance later (or maybe someone
else can do that (@stoiko) ?)

proxmox-acme-rs:

Dominik Csapak (1):
  directory: make meta object optional

 src/directory.rs | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

pmg-rs:

Dominik Csapak (1):
  fix #3688: handle optional meta property of the directory

 src/acme.rs | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

-- 
2.30.2





^ permalink raw reply	[flat|nested] 4+ messages in thread

* [pmg-devel] [PATCH proxmox-acme-rs 1/1] directory: make meta object optional
  2021-10-21  9:10 [pmg-devel] [PATCH proxmox-acme-rs/pmg-rs] fix #3688: allow missing 'meta' property for acme directories Dominik Csapak
@ 2021-10-21  9:10 ` Dominik Csapak
  2021-10-21  9:10 ` [pmg-devel] [PATCH pmg-rs 1/1] fix #3688: handle optional meta property of the directory Dominik Csapak
  2021-10-21 11:24 ` [pmg-devel] applied: [PATCH proxmox-acme-rs/pmg-rs] fix #3688: allow missing 'meta' property for acme directories Wolfgang Bumiller
  2 siblings, 0 replies; 4+ messages in thread
From: Dominik Csapak @ 2021-10-21  9:10 UTC (permalink / raw)
  To: pmg-devel

some custom ACME endpoints do not have a TOS, and thus do not return
a meta property at all

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
 src/directory.rs | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/directory.rs b/src/directory.rs
index 474b615..755ea8c 100644
--- a/src/directory.rs
+++ b/src/directory.rs
@@ -36,7 +36,8 @@ pub struct DirectoryData {
 
     /// Metadata object, for additional information which aren't directly part of the API
     /// itself, such as the terms of service.
-    pub meta: Meta,
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub meta: Option<Meta>,
 }
 
 /// The directory's "meta" object.
@@ -57,7 +58,10 @@ impl Directory {
 
     /// Get the ToS URL.
     pub fn terms_of_service_url(&self) -> Option<&str> {
-        self.data.meta.terms_of_service.as_deref()
+        match &self.data.meta {
+            Some(meta) => meta.terms_of_service.as_deref(),
+            None => None,
+        }
     }
 
     /// Get the "newNonce" URL. Use `HEAD` requests on this to get a new nonce.
@@ -76,7 +80,7 @@ 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) -> &Meta {
-        &self.data.meta
+    pub fn meta(&self) -> Option<&Meta> {
+        self.data.meta.as_ref()
     }
 }
-- 
2.30.2





^ permalink raw reply	[flat|nested] 4+ messages in thread

* [pmg-devel] [PATCH pmg-rs 1/1] fix #3688: handle optional meta property of the directory
  2021-10-21  9:10 [pmg-devel] [PATCH proxmox-acme-rs/pmg-rs] fix #3688: allow missing 'meta' property for acme directories Dominik Csapak
  2021-10-21  9:10 ` [pmg-devel] [PATCH proxmox-acme-rs 1/1] directory: make meta object optional Dominik Csapak
@ 2021-10-21  9:10 ` Dominik Csapak
  2021-10-21 11:24 ` [pmg-devel] applied: [PATCH proxmox-acme-rs/pmg-rs] fix #3688: allow missing 'meta' property for acme directories Wolfgang Bumiller
  2 siblings, 0 replies; 4+ messages in thread
From: Dominik Csapak @ 2021-10-21  9:10 UTC (permalink / raw)
  To: pmg-devel

meta is optional so handle that, fixes the issue where one could not
create an account on custom ACME endpoints without a meta property since
it could not be parsed

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
needs proxmox-acme-rs to be bumped and the depency adapted in Cargo.toml

 src/acme.rs | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/acme.rs b/src/acme.rs
index 9a57624..a1b5278 100644
--- a/src/acme.rs
+++ b/src/acme.rs
@@ -265,10 +265,11 @@ pub mod export {
 
     /// Get the directory's meta information.
     #[export]
-    pub fn get_meta(#[try_from_ref] this: &Acme) -> Result<Meta, Error> {
-        Ok(Meta::clone(
-            this.inner.lock().unwrap().client.directory()?.meta(),
-        ))
+    pub fn get_meta(#[try_from_ref] this: &Acme) -> Result<Option<Meta>, Error> {
+        match this.inner.lock().unwrap().client.directory()?.meta() {
+            Some(meta) => Ok(Some(meta.clone())),
+            None => Ok(None),
+        }
     }
 
     /// Get the account's directory URL.
-- 
2.30.2





^ permalink raw reply	[flat|nested] 4+ messages in thread

* [pmg-devel] applied: [PATCH proxmox-acme-rs/pmg-rs] fix #3688: allow missing 'meta' property for acme directories
  2021-10-21  9:10 [pmg-devel] [PATCH proxmox-acme-rs/pmg-rs] fix #3688: allow missing 'meta' property for acme directories Dominik Csapak
  2021-10-21  9:10 ` [pmg-devel] [PATCH proxmox-acme-rs 1/1] directory: make meta object optional Dominik Csapak
  2021-10-21  9:10 ` [pmg-devel] [PATCH pmg-rs 1/1] fix #3688: handle optional meta property of the directory Dominik Csapak
@ 2021-10-21 11:24 ` Wolfgang Bumiller
  2 siblings, 0 replies; 4+ messages in thread
From: Wolfgang Bumiller @ 2021-10-21 11:24 UTC (permalink / raw)
  To: Dominik Csapak; +Cc: pmg-devel

applied both

On Thu, Oct 21, 2021 at 11:10:42AM +0200, Dominik Csapak wrote:
> like we already do in pve, also make the 'meta' property optional
> 
> NOTE: the code compiles, but the actual code path is untested, sending it with the
> intention to test on a patched pebble instance later (or maybe someone
> else can do that (@stoiko) ?)
> 
> proxmox-acme-rs:
> 
> Dominik Csapak (1):
>   directory: make meta object optional
> 
>  src/directory.rs | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> pmg-rs:
> 
> Dominik Csapak (1):
>   fix #3688: handle optional meta property of the directory
> 
>  src/acme.rs | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> -- 
> 2.30.2




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-10-21 11:32 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-21  9:10 [pmg-devel] [PATCH proxmox-acme-rs/pmg-rs] fix #3688: allow missing 'meta' property for acme directories Dominik Csapak
2021-10-21  9:10 ` [pmg-devel] [PATCH proxmox-acme-rs 1/1] directory: make meta object optional Dominik Csapak
2021-10-21  9:10 ` [pmg-devel] [PATCH pmg-rs 1/1] fix #3688: handle optional meta property of the directory Dominik Csapak
2021-10-21 11:24 ` [pmg-devel] applied: [PATCH proxmox-acme-rs/pmg-rs] fix #3688: allow missing 'meta' property for acme directories Wolfgang Bumiller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal