[Libreoffice-commits] online.git: loolwsd/Storage.cpp loolwsd/Storage.hpp
Miklos Vajna
vmiklos at collabora.co.uk
Fri Sep 30 09:06:54 UTC 2016
loolwsd/Storage.cpp | 4 +++-
loolwsd/Storage.hpp | 6 +++++-
2 files changed, 8 insertions(+), 2 deletions(-)
New commits:
commit c9346e14b1013a12db81d7d2f8f287d841976f2a
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Fri Sep 30 11:02:09 2016 +0200
LocalStorage: differentiate between multiple localhost users
Hopefully useful in general, but currently I need this to see if view
ids are mapped to the correct user names even with file:/// URLs.
Change-Id: Iec7d552ee0b0d53738040d868e49ecb7e9c10843
diff --git a/loolwsd/Storage.cpp b/loolwsd/Storage.cpp
index c0e1c4c..89efd79 100644
--- a/loolwsd/Storage.cpp
+++ b/loolwsd/Storage.cpp
@@ -163,6 +163,8 @@ std::unique_ptr<StorageBase> StorageBase::create(const std::string& jailRoot, co
throw BadRequestException("No Storage configured or invalid URI.");
}
+unsigned LocalStorage::LastLocalStorageId = 0;
+
StorageBase::FileInfo LocalStorage::getFileInfo(const Poco::URI& uri)
{
const auto path = Poco::Path(uri.getPath());
@@ -171,7 +173,7 @@ StorageBase::FileInfo LocalStorage::getFileInfo(const Poco::URI& uri)
const auto file = Poco::File(path);
const auto lastModified = file.getLastModified();
const auto size = file.getSize();
- return FileInfo({filename, lastModified, size, "localhost", "Local Host"});
+ return FileInfo({filename, lastModified, size, "localhost", std::string("Local Host #") + std::to_string(_localStorageId)});
}
std::string LocalStorage::loadStorageFileToLocal()
diff --git a/loolwsd/Storage.hpp b/loolwsd/Storage.hpp
index 6ab3e93..23bc7cd 100644
--- a/loolwsd/Storage.hpp
+++ b/loolwsd/Storage.hpp
@@ -118,7 +118,8 @@ public:
const std::string& jailPath,
const std::string& uri) :
StorageBase(localStorePath, jailPath, uri),
- _isCopy(false)
+ _isCopy(false),
+ _localStorageId(LocalStorage::LastLocalStorageId++)
{
Log::info("LocalStorage ctor with localStorePath: [" + localStorePath +
"], jailPath: [" + jailPath + "], uri: [" + uri + "].");
@@ -133,6 +134,9 @@ public:
private:
/// True if the jailed file is not linked but copied.
bool _isCopy;
+ static unsigned LastLocalStorageId;
+ /// Used to differentiate between multiple localhost users.
+ const unsigned _localStorageId;
};
/// WOPI protocol backed storage.
More information about the Libreoffice-commits
mailing list