loolwsd/DocumentBroker.hpp | 23 +++++++++++++++++------ loolwsd/LOOLWSD.cpp | 2 +- 2 files changed, 18 insertions(+), 7 deletions(-)
New commits: commit c0cf48f5ac885b878afd0b67c63332bdc91a94b8 Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Sat Mar 12 20:14:32 2016 -0500 loolwsd: jailRoot moved in DocumentBroker Change-Id: Ic9dfce0cb0f2f87fae9a918df500c89673f15716 Reviewed-on: https://gerrit.libreoffice.org/23217 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/loolwsd/DocumentBroker.hpp b/loolwsd/DocumentBroker.hpp index e78ccc3..e2cd9ee 100644 --- a/loolwsd/DocumentBroker.hpp +++ b/loolwsd/DocumentBroker.hpp @@ -57,7 +57,7 @@ public: } static - std::shared_ptr<DocumentBroker> create(const std::string& uri) + std::shared_ptr<DocumentBroker> create(const std::string& uri, const std::string& childRoot) { std::string decodedUri; Poco::URI::decode(uri, decodedUri); @@ -75,18 +75,18 @@ public: throw std::runtime_error("Invalid URI."); } - return create(uriPublic); + return create(uriPublic, childRoot); } static - std::shared_ptr<DocumentBroker> create(const Poco::URI& uriPublic) + std::shared_ptr<DocumentBroker> create(const Poco::URI& uriPublic, const std::string& childRoot) { Log::info("Creating DocumentBroker for uri: " + uriPublic.toString()); std::string docKey; Poco::URI::encode(uriPublic.getPath(), "", docKey); - return std::shared_ptr<DocumentBroker>(new DocumentBroker(uriPublic, docKey)); + return std::shared_ptr<DocumentBroker>(new DocumentBroker(uriPublic, docKey, childRoot)); } ~DocumentBroker() @@ -148,18 +148,29 @@ public: const std::string& getJailId() const { return _jailId; } const std::string& getDocKey() const { return _docKey; } + std::string getJailRoot() const + { + assert(!_jailId.empty()); + return Poco::Path(_childRoot, _jailId).toString(); + } + private: DocumentBroker(const Poco::URI& uriPublic, - const std::string& docKey) : + const std::string& docKey, + const std::string& childRoot) : _uriPublic(uriPublic), - _docKey(docKey) + _docKey(docKey), + _childRoot(childRoot) { + assert(!_docKey.empty()); + assert(!_childRoot.empty()); Log::info("DocumentBroker [" + _uriPublic.toString() + "] created."); } private: const Poco::URI _uriPublic; const std::string _docKey; + const std::string _childRoot; Poco::URI _uriJailed; std::string _jailId; std::unique_ptr<StorageBase> _storage; diff --git a/loolwsd/LOOLWSD.cpp b/loolwsd/LOOLWSD.cpp index d382e35..28b1a8e 100644 --- a/loolwsd/LOOLWSD.cpp +++ b/loolwsd/LOOLWSD.cpp @@ -505,7 +505,7 @@ private: // request.getCookies(cookies); // Log::info("Cookie: " + cookies.get("PHPSESSID", "")); - auto docBroker = DocumentBroker::create(request.getURI()); + auto docBroker = DocumentBroker::create(request.getURI(), LOOLWSD::ChildRoot); const auto docKey = docBroker->getDocKey(); { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits