From 07596bee7e9335df6aefeb337b1fe94034d4f221 Mon Sep 17 00:00:00 2001 From: Fabrizio Furano Date: Wed, 22 Aug 2018 11:05:48 +0200 Subject: [PATCH 1/2] Pass the length of the source filename to kXR_mv (allow filenames with spaces) --- src/XrdHttp/XrdHttpReq.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/XrdHttp/XrdHttpReq.cc b/src/XrdHttp/XrdHttpReq.cc index 88e44cb215c..d500ca63389 100644 --- a/src/XrdHttp/XrdHttpReq.cc +++ b/src/XrdHttp/XrdHttpReq.cc @@ -1525,7 +1525,8 @@ int XrdHttpReq::ProcessHTTPReq() { l = s.length() + 1; xrdreq.mv.dlen = htonl(l); - + xrdreq.mv.arg1len = resourceplusopaque.length(); + if (!prot->Bridge->Run((char *) &xrdreq, (char *) s.c_str(), l)) { prot->SendSimpleResp(501, NULL, NULL, (char *) "Could not run request.", 0); return -1; From 2f231b080f74d20e5f27539980583cf781a9e791 Mon Sep 17 00:00:00 2001 From: Fabrizio Furano Date: Wed, 22 Aug 2018 11:18:48 +0200 Subject: [PATCH 2/2] Pass the arg1len parameter in network byte order, for kXR_mv --- src/XrdHttp/XrdHttpReq.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/XrdHttp/XrdHttpReq.cc b/src/XrdHttp/XrdHttpReq.cc index d500ca63389..f040329ee72 100644 --- a/src/XrdHttp/XrdHttpReq.cc +++ b/src/XrdHttp/XrdHttpReq.cc @@ -1525,7 +1525,7 @@ int XrdHttpReq::ProcessHTTPReq() { l = s.length() + 1; xrdreq.mv.dlen = htonl(l); - xrdreq.mv.arg1len = resourceplusopaque.length(); + xrdreq.mv.arg1len = htons(resourceplusopaque.length()); if (!prot->Bridge->Run((char *) &xrdreq, (char *) s.c_str(), l)) { prot->SendSimpleResp(501, NULL, NULL, (char *) "Could not run request.", 0);