diff --git a/CMakeLists.txt b/CMakeLists.txt index 5766af7da5..3e20b7b0ff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,8 +28,8 @@ project(OpenSpace) set(OPENSPACE_VERSION_MAJOR 0) set(OPENSPACE_VERSION_MINOR 15) -set(OPENSPACE_VERSION_PATCH -1) -set(OPENSPACE_VERSION_STRING "Beta-5 RC1") +set(OPENSPACE_VERSION_PATCH 0) +set(OPENSPACE_VERSION_STRING "Beta-5") set(OPENSPACE_BASE_DIR "${PROJECT_SOURCE_DIR}") diff --git a/include/openspace/engine/configuration.h b/include/openspace/engine/configuration.h index 12a4e9e093..0c8139f8c9 100644 --- a/include/openspace/engine/configuration.h +++ b/include/openspace/engine/configuration.h @@ -36,6 +36,12 @@ namespace openspace::documentation { struct Documentation; } namespace openspace::configuration { struct Configuration { + Configuration() = default; + Configuration(Configuration&&) = default; + Configuration(const Configuration&) = delete; + Configuration& operator=(const Configuration&) = delete; + Configuration& operator=(Configuration&&) = default; + std::string windowConfiguration = "${CONFIG}/single.xml"; std::string asset; std::vector globalCustomizationScripts; diff --git a/modules/server/servermodule.cpp b/modules/server/servermodule.cpp index 9451c6861d..9ae7399603 100644 --- a/modules/server/servermodule.cpp +++ b/modules/server/servermodule.cpp @@ -82,6 +82,15 @@ void ServerModule::internalInitialize(const ghoul::Dictionary& configuration) { for (const std::string& key : interfaces.keys()) { ghoul::Dictionary interfaceDictionary = interfaces.value(key); + // @TODO (abock, 2019-09-17); This is a hack to make the parsing of the + // openspace.cfg file not corrupt the heap and cause a potential crash at shutdown + // (see ticket https://github.com/OpenSpace/OpenSpace/issues/982) + // The AllowAddresses are specified externally and are injected here + interfaceDictionary.setValue( + "AllowAddresses", + configuration.value("AllowAddresses") + ); + std::unique_ptr serverInterface = ServerInterface::createFromDictionary(interfaceDictionary); diff --git a/openspace.cfg b/openspace.cfg index c51acc3288..41ccdfe588 100644 --- a/openspace.cfg +++ b/openspace.cfg @@ -99,6 +99,7 @@ ModuleConfigurations = { } }, Server = { + AllowAddresses = { "127.0.0.1", "localhost" }, Interfaces = { { Type = "TcpSocket", @@ -106,7 +107,6 @@ ModuleConfigurations = { Port = 4681, Enabled = true, DefaultAccess = "Deny", - AllowAddresses = { "127.0.0.1", "localhost" }, RequirePasswordAddresses = {}, Password = "" }, @@ -116,7 +116,6 @@ ModuleConfigurations = { Port = 4682, Enabled = true, DefaultAccess = "Deny", - AllowAddresses = { "127.0.0.1", "localhost" }, RequirePasswordAddresses = {}, Password = "" }