[pve-devel] [PATCH] fix execute API again
Dietmar Maurer
dietmar at proxmox.com
Tue Dec 10 11:59:37 CET 2013
> diff --git a/PVE/API2/Nodes.pm b/PVE/API2/Nodes.pm index 37d834d..60b81d8
> 100644
> --- a/PVE/API2/Nodes.pm
> +++ b/PVE/API2/Nodes.pm
> @@ -376,22 +376,23 @@ __PACKAGE__->register_method({
> my $path = "nodes/$param->{node}/$cmd->{path}";
>
> my $uri_param = {};
> - my ($handler, $info) = PVE::API2->find_handler($cmd-
> >{method}, $path, $uri_param);
> - if (!$handler || !$info) {
> - die "no handler for '$path'\n";
> - }
>
> foreach my $p (keys %{$cmd->{args}}) {
> raise_param_exc({ $p => "duplicate parameter" }) if
> defined($uri_param->{$p});
> $uri_param->{$p} = $cmd->{args}->{$p};
> }
>
> + my ($handler, $info) = PVE::API2->find_handler($cmd-
> >{method}, $path, $uri_param);
> + if (!$handler || !$info) {
> + die "no handler for '$path'\n";
> + }
> +
this re-ordering is wrong.
> # check access permissions
> $rpcenv->check_api2_permissions($info->{permissions}, $user,
> $uri_param);
>
> push @$res, {
> status => HTTP_OK,
> - data => $handler->handle($info, $cmd->{args}),
> + data => $handler->handle($info, $uri_param),
This is enough to fix the issue. I just applied this - please can you test again?
More information about the pve-devel
mailing list