From 398174c0f91cb8fbdc8047b9a75ba3a8a78e14d3 Mon Sep 17 00:00:00 2001 From: Michael Schroeder Date: Thu, 10 Jul 2014 14:13:35 +0200 Subject: [PATCH] [backend] BSRPC: fix uri encoding if there is no host part This happens if called from BSHandoff (i.e. if there already is a socket). --- src/backend/BSRPC.pm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/backend/BSRPC.pm b/src/backend/BSRPC.pm index 85b481654c3..d564636263c 100644 --- a/src/backend/BSRPC.pm +++ b/src/backend/BSRPC.pm @@ -61,9 +61,14 @@ sub urlencode { sub createuri { my ($param, @args) = @_; my $uri = $param->{'uri'}; - if (!$param->{'verbatim_uri'} && $uri =~ /^(https?:\/\/[^\/]*\/)(.*)$/s) { - $uri = $1; - $uri .= BSRPC::urlencode($2); + if (!$param->{'verbatim_uri'}) { + # encode uri, but do not encode the host part + if ($uri =~ /^(https?:\/\/[^\/]*\/)(.*)$/s) { + $uri = $1; + $uri .= urlencode($2); + } else { + $uri = urlencode($uri); + } } if (@args) { for (@args) {