From 40ca6e9c11bcf3a00ac088f55276b61e899ad024 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Tue, 23 Jul 2013 08:34:56 +0200 Subject: [PATCH] fix proxy loop assertion --- PVE/HTTPServer.pm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PVE/HTTPServer.pm b/PVE/HTTPServer.pm index f5167355..704bb6b9 100755 --- a/PVE/HTTPServer.pm +++ b/PVE/HTTPServer.pm @@ -462,21 +462,21 @@ sub handle_api2_request { $rpcenv->set_user(undef); # clear after request - if ($res->{proxy}) { + if (my $host = $res->{proxy}) { if ($self->{trusted_env}) { $self->error($reqstate, HTTP_INTERNAL_SERVER_ERROR, "proxy not allowed"); return; } - if ($r->header('PVEDisableProxy')) { + if ($host ne 'localhost' && $r->header('PVEDisableProxy')) { $self->error($reqstate, HTTP_INTERNAL_SERVER_ERROR, "proxy loop detected"); return; } $res->{proxy_params}->{tmpfilename} = $reqstate->{tmpfilename} if $upload_state; - $self->proxy_request($reqstate, $clientip, $res->{proxy}, $method, + $self->proxy_request($reqstate, $clientip, $host, $method, $r->uri, $auth->{ticket}, $auth->{token}, $res->{proxy_params}); return;