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



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