Re: [pve-devel] [PATCH manager] acme: ui: handle missing meta field in directory response

2024-04-22 Thread Folke Gleumes
Forgot the reported by trailer:

Reported-by: Stoiko Ivanov 

On Mon, 2024-04-22 at 11:01 +0200, Folke Gleumes wrote:
> When none of the meta fields is set by the directory, the whole
> dictionary is missing from the response, leading to an exception
> when testing for fields inside it.
> 
> Signed-off-by: Folke Gleumes 
> ---
>  www/manager6/node/ACME.js | 9 ++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/www/manager6/node/ACME.js b/www/manager6/node/ACME.js
> index a0db51a6..7fe49171 100644
> --- a/www/manager6/node/ACME.js
> +++ b/www/manager6/node/ACME.js
> @@ -150,15 +150,18 @@ Ext.define('PVE.node.ACMEAccountCreate', {
>     directory: value,
> },
> success: function(response, opt) {
> -   if
> (response.result.data.termsOfService) {
> +   if (response.result.data &&
> response.result.data.termsOfService) {
> field.setValue(response.resul
> t.data.termsOfService);
> disp.setValue(response.result
> .data.termsOfService);
> checkbox.setHidden(false);
>     } else {
> -   checkbox.setValue(false);
> +   // Needed to pass input
> verification and enable register button
> +   // has no influence on the
> submitted form
> +   checkbox.setValue(true);
> disp.setValue("No terms of
> service agreement required");
>     }
> -   vm.set('eabRequired',
> !!response.result.data.externalAccountRequired);
> +   vm.set('eabRequired',
> !!(response.result.data &&
> +   response.result.data.external
> AccountRequired));
> },
> failure: function(response, opt) {
>     disp.setValue(undefined);

___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


Re: [pve-devel] [PATCH manager] acme: ui: handle missing meta field in directory response

2024-04-22 Thread Stoiko Ivanov
Gave this patch a spin against a quickly setup step-ca container I had
lying around - the issue of not being able to register an account without
EAB is gone with it.

Tested-by: Stoiko Ivanov 

On Mon, 22 Apr 2024 11:01:02 +0200
Folke Gleumes  wrote:

> When none of the meta fields is set by the directory, the whole
> dictionary is missing from the response, leading to an exception
> when testing for fields inside it.
> 
> Signed-off-by: Folke Gleumes 
> ---
>  www/manager6/node/ACME.js | 9 ++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/www/manager6/node/ACME.js b/www/manager6/node/ACME.js
> index a0db51a6..7fe49171 100644
> --- a/www/manager6/node/ACME.js
> +++ b/www/manager6/node/ACME.js
> @@ -150,15 +150,18 @@ Ext.define('PVE.node.ACMEAccountCreate', {
>   directory: value,
>   },
>   success: function(response, opt) {
> - if (response.result.data.termsOfService) {
> + if (response.result.data && 
> response.result.data.termsOfService) {
>   
> field.setValue(response.result.data.termsOfService);
>   
> disp.setValue(response.result.data.termsOfService);
>   checkbox.setHidden(false);
>   } else {
> - checkbox.setValue(false);
> + // Needed to pass input verification 
> and enable register button
> + // has no influence on the submitted 
> form
> + checkbox.setValue(true);
>   disp.setValue("No terms of service 
> agreement required");
>   }
> - vm.set('eabRequired', 
> !!response.result.data.externalAccountRequired);
> + vm.set('eabRequired', 
> !!(response.result.data &&
> + 
> response.result.data.externalAccountRequired));
>   },
>   failure: function(response, opt) {
>   disp.setValue(undefined);



___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



[pve-devel] [PATCH manager] acme: ui: handle missing meta field in directory response

2024-04-22 Thread Folke Gleumes
When none of the meta fields is set by the directory, the whole
dictionary is missing from the response, leading to an exception
when testing for fields inside it.

Signed-off-by: Folke Gleumes 
---
 www/manager6/node/ACME.js | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/www/manager6/node/ACME.js b/www/manager6/node/ACME.js
index a0db51a6..7fe49171 100644
--- a/www/manager6/node/ACME.js
+++ b/www/manager6/node/ACME.js
@@ -150,15 +150,18 @@ Ext.define('PVE.node.ACMEAccountCreate', {
directory: value,
},
success: function(response, opt) {
-   if (response.result.data.termsOfService) {
+   if (response.result.data && 
response.result.data.termsOfService) {

field.setValue(response.result.data.termsOfService);

disp.setValue(response.result.data.termsOfService);
checkbox.setHidden(false);
} else {
-   checkbox.setValue(false);
+   // Needed to pass input verification 
and enable register button
+   // has no influence on the submitted 
form
+   checkbox.setValue(true);
disp.setValue("No terms of service 
agreement required");
}
-   vm.set('eabRequired', 
!!response.result.data.externalAccountRequired);
+   vm.set('eabRequired', 
!!(response.result.data &&
+   
response.result.data.externalAccountRequired));
},
failure: function(response, opt) {
disp.setValue(undefined);
-- 
2.39.2



___
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel