diff options
author | Alexander Tkachev | 2016-08-01 12:54:54 +0600 |
---|---|---|
committer | Alexander Tkachev | 2016-08-24 16:07:55 +0600 |
commit | 126fe9c8457b95b13b06eb457f7ce445b031e26b (patch) | |
tree | 2d142e24f6010306088a37f68463ebbe96688e14 /backends/networking/sdl_net/handlers | |
parent | a1de322c18d9efdf885ea5b760a404237dcdc0a8 (diff) | |
download | scummvm-rg350-126fe9c8457b95b13b06eb457f7ce445b031e26b.tar.gz scummvm-rg350-126fe9c8457b95b13b06eb457f7ce445b031e26b.tar.bz2 scummvm-rg350-126fe9c8457b95b13b06eb457f7ce445b031e26b.zip |
CLOUD: Add "minimal mode" in LocalWebserver
StorageWizardDialog now runs LocalWebserver in "minimal mode" for
security reasons. In this mode server uses only those handlers which
state to support it.
There are two handlers which support minimal mode: IndexPageHandler
(which handles `code` requests needed by StorageWizardDialog) and
ResourceHandler (which provides inner resources like `style.css` or
`logo.png` from `wwwroot.zip` archive).
Diffstat (limited to 'backends/networking/sdl_net/handlers')
5 files changed, 11 insertions, 0 deletions
diff --git a/backends/networking/sdl_net/handlers/basehandler.h b/backends/networking/sdl_net/handlers/basehandler.h index bf532688d7..dec5e955bd 100644 --- a/backends/networking/sdl_net/handlers/basehandler.h +++ b/backends/networking/sdl_net/handlers/basehandler.h @@ -33,6 +33,7 @@ public: virtual ~BaseHandler() {} virtual void handle(Client &) = 0; + virtual bool minimalModeSupported() { return false; } }; } // End of namespace Networking diff --git a/backends/networking/sdl_net/handlers/indexpagehandler.cpp b/backends/networking/sdl_net/handlers/indexpagehandler.cpp index 1c14e7daf2..985bd6635e 100644 --- a/backends/networking/sdl_net/handlers/indexpagehandler.cpp +++ b/backends/networking/sdl_net/handlers/indexpagehandler.cpp @@ -58,4 +58,8 @@ void IndexPageHandler::handle(Client &client) { HandlerUtils::setMessageHandler(client, _("ScummVM got the code and already connects to your cloud storage!")); } +bool IndexPageHandler::minimalModeSupported() { + return true; +} + } // End of namespace Networking diff --git a/backends/networking/sdl_net/handlers/indexpagehandler.h b/backends/networking/sdl_net/handlers/indexpagehandler.h index ad4102ce88..8065954b27 100644 --- a/backends/networking/sdl_net/handlers/indexpagehandler.h +++ b/backends/networking/sdl_net/handlers/indexpagehandler.h @@ -37,6 +37,7 @@ public: Common::String code() const; virtual void handle(Client &client); + virtual bool minimalModeSupported(); }; } // End of namespace Networking diff --git a/backends/networking/sdl_net/handlers/resourcehandler.cpp b/backends/networking/sdl_net/handlers/resourcehandler.cpp index 890c2a7b95..631eb63351 100644 --- a/backends/networking/sdl_net/handlers/resourcehandler.cpp +++ b/backends/networking/sdl_net/handlers/resourcehandler.cpp @@ -68,4 +68,8 @@ void ResourceHandler::handle(Client &client) { LocalWebserver::setClientGetHandler(client, file, 200, determineMimeType(filename)); } +bool ResourceHandler::minimalModeSupported() { + return true; +} + } // End of namespace Networking diff --git a/backends/networking/sdl_net/handlers/resourcehandler.h b/backends/networking/sdl_net/handlers/resourcehandler.h index 8a1a15875c..2ec4c5bb19 100644 --- a/backends/networking/sdl_net/handlers/resourcehandler.h +++ b/backends/networking/sdl_net/handlers/resourcehandler.h @@ -34,6 +34,7 @@ public: virtual ~ResourceHandler(); virtual void handle(Client &client); + virtual bool minimalModeSupported(); }; } // End of namespace Networking |