loolwsd/ChildProcessSession.cpp | 8 ++++---- loolwsd/Common.hpp | 4 ++++ loolwsd/LOOLSession.cpp | 2 -- loolwsd/LOOLSession.hpp | 2 -- loolwsd/LOOLWSD.cpp | 8 +++----- loolwsd/MasterProcessSession.cpp | 4 ++-- 6 files changed, 13 insertions(+), 15 deletions(-)
New commits: commit 900c344a7e80c0d7152bc4487d79b075a69cf1ef Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Wed Jan 6 13:49:10 2016 -0500 loolwsd: refactored JailedDocumentRoot path Change-Id: Ibee16e6ebde0ae1945be53903a0b0bad4f3300ed Reviewed-on: https://gerrit.libreoffice.org/21179 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/loolwsd/ChildProcessSession.cpp b/loolwsd/ChildProcessSession.cpp index 8fa38fe..3267570 100644 --- a/loolwsd/ChildProcessSession.cpp +++ b/loolwsd/ChildProcessSession.cpp @@ -266,10 +266,10 @@ bool ChildProcessSession::loadDocument(const char *buffer, int length, StringTok Log::info("Loading view to document from URI: [" + aUri.toString() + "]."); // The URL in the request is the original one, not visible in the chroot jail. - // The child process uses the fixed name jailDocumentURL. + // The child process uses the fixed name JailedDocumentRoot. if (aUri.isRelative() || aUri.getScheme() == "file") { - aUri = URI( URI("file://"), Path(jailDocumentURL + Path::separator() + std::to_string(Process::id()), + aUri = URI( URI("file://"), Path(JailedDocumentRoot + std::to_string(Process::id()), Path(aUri.getPath()).getFileName()).toString() ); Log::info("Local URI: [" + aUri.toString() + "]."); } @@ -519,7 +519,7 @@ bool ChildProcessSession::downloadAs(const char* /*buffer*/, int /*length*/, Str delete file; } tmpDir = std::to_string(Util::rng::getNext()); - url = jailDocumentURL + "/" + tmpDir + "/" + name; + url = JailedDocumentRoot + tmpDir + "/" + name; file = new File(url); } while (file->exists()); delete file; @@ -596,7 +596,7 @@ bool ChildProcessSession::insertFile(const char* /*buffer*/, int /*length*/, Str if (type == "graphic") { - std::string fileName = "file://" + jailDocumentURL + "/insertfile/" + name; + std::string fileName = "file://" + JailedDocumentRoot + "insertfile/" + name; std::string command = ".uno:InsertGraphic"; std::string arguments = "{" "\"FileName\":{" diff --git a/loolwsd/Common.hpp b/loolwsd/Common.hpp index 7330f83..04fb0d1 100644 --- a/loolwsd/Common.hpp +++ b/loolwsd/Common.hpp @@ -11,6 +11,8 @@ #ifndef INCLUDED_COMMON_HPP #define INCLUDED_COMMON_HPP +#include <string> + constexpr int DEFAULT_CLIENT_PORT_NUMBER = 9980; constexpr int MASTER_PORT_NUMBER = 9981; constexpr int INTERVAL_PROBES = 10; @@ -20,6 +22,8 @@ constexpr int POLL_TIMEOUT = 1000000; // work loads. constexpr int PIPE_BUFFER = 1024; +static const std::string JailedDocumentRoot = "/user/doc/"; + // Flag to stop pump loops. static volatile bool TerminationFlag = false; diff --git a/loolwsd/LOOLSession.cpp b/loolwsd/LOOLSession.cpp index 96f844f..038dcfe 100644 --- a/loolwsd/LOOLSession.cpp +++ b/loolwsd/LOOLSession.cpp @@ -80,8 +80,6 @@ using Poco::Net::DialogSocket; using Poco::Net::SocketAddress; using Poco::Net::WebSocketException; -const std::string LOOLSession::jailDocumentURL = "/user/thedocument"; - LOOLSession::LOOLSession(const std::string& id, const Kind kind, std::shared_ptr<Poco::Net::WebSocket> ws) : _kind(kind), diff --git a/loolwsd/LOOLSession.hpp b/loolwsd/LOOLSession.hpp index 22a308f..2e3f213 100644 --- a/loolwsd/LOOLSession.hpp +++ b/loolwsd/LOOLSession.hpp @@ -55,8 +55,6 @@ public: bool handleInput(const char *buffer, int length); - static const std::string jailDocumentURL; - protected: LOOLSession(const std::string& id, const Kind kind, std::shared_ptr<Poco::Net::WebSocket> ws); diff --git a/loolwsd/LOOLWSD.cpp b/loolwsd/LOOLWSD.cpp index a4bec81..9b5276b 100644 --- a/loolwsd/LOOLWSD.cpp +++ b/loolwsd/LOOLWSD.cpp @@ -338,7 +338,7 @@ public: // Convert it to the requested format. Path toPath(fromPath); toPath.setExtension(format); - std::string toJailURL = filePrefix + LOOLSession::jailDocumentURL + Path::separator() + toPath.getFileName(); + std::string toJailURL = filePrefix + JailedDocumentRoot + toPath.getFileName(); std::string saveas = "saveas url=" + toJailURL + " format=" + format + " options="; session->handleInput(saveas.data(), saveas.size()); std::string toURL = session->getSaveAs(); @@ -373,8 +373,7 @@ public: if (form.has("childid") && form.has("name")) { const std::string dirPath = LOOLWSD::childRoot + form.get("childid") - + LOOLSession::jailDocumentURL - + Path::separator() + "insertfile"; + + JailedDocumentRoot + "insertfile"; File(dirPath).createDirectory(); std::string fileName = dirPath + Path::separator() + form.get("name"); File(tmpPath).moveTo(fileName); @@ -392,8 +391,7 @@ public: { // The user might request a file to download const std::string dirPath = LOOLWSD::childRoot + tokens[1] - + LOOLSession::jailDocumentURL - + Path::separator() + tokens[2]; + + JailedDocumentRoot + tokens[2]; std::string fileName; URI::decode(tokens[3], fileName); const std::string filePath = dirPath + Path::separator() + fileName; diff --git a/loolwsd/MasterProcessSession.cpp b/loolwsd/MasterProcessSession.cpp index 704b93a..b420d76 100644 --- a/loolwsd/MasterProcessSession.cpp +++ b/loolwsd/MasterProcessSession.cpp @@ -17,6 +17,7 @@ #include <Poco/URI.h> #include <Poco/URIStreamOpener.h> +#include "Common.hpp" #include "LOOLProtocol.hpp" #include "LOOLSession.hpp" #include "LOOLWSD.hpp" @@ -625,7 +626,7 @@ void MasterProcessSession::dispatchChild() // Copy document into jail using the fixed name if (!aUri.empty() && aUri.getScheme() == "file") { - const std::string aJailDoc = jailDocumentURL.substr(1) + Path::separator() + std::to_string(childSession->_pidChild); + const std::string aJailDoc = JailedDocumentRoot.substr(1) + Path::separator() + std::to_string(childSession->_pidChild); const Path aSrcFile(aUri.getPath()); const Path aDstPath(getJailPath(childSession->_childId), aJailDoc); const Path aDstFile(aDstPath, aSrcFile.getFileName()); @@ -633,7 +634,6 @@ void MasterProcessSession::dispatchChild() Log::debug("JailDoc: " + aJailDoc); Log::debug("SrcFile: " + aSrcFile.toString()); - Log::debug("DstPath: " + aDstPath.toString()); Log::debug("DstFile: " + aDstFile.toString()); Log::debug("JailFile: " + aJailFile.toString()); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits