diff --git a/src/config/ConfigReader.cpp b/src/config/ConfigReader.cpp index 90c093de..1598e71b 100644 --- a/src/config/ConfigReader.cpp +++ b/src/config/ConfigReader.cpp @@ -49,26 +49,50 @@ ConfigReader::setFile(boost::filesystem::path p) } std::string -ConfigReader::getString(std::string setting) +ConfigReader::getString(std::string setting, std::string def) { - return _config->lookup(setting); + try { + return _config->lookup(setting); + } + catch (std::exception &e) + { + return def; + } } unsigned long -ConfigReader::getULong(std::string setting) +ConfigReader::getULong(std::string setting, unsigned long def) { - return static_cast(_config->lookup(setting)); + try { + return static_cast(_config->lookup(setting)); + } + catch (...) + { + return def; + } } long -ConfigReader::getLong(std::string setting) +ConfigReader::getLong(std::string setting, long def) { - return _config->lookup(setting); + try { + return _config->lookup(setting); + } + catch (...) + { + return def; + } } bool -ConfigReader::getBool(std::string setting) +ConfigReader::getBool(std::string setting, bool def) { - return _config->lookup(setting); + try { + return _config->lookup(setting); + } + catch (...) + { + return def; + } } diff --git a/src/config/ConfigReader.hpp b/src/config/ConfigReader.hpp index 6f68156c..c503053a 100644 --- a/src/config/ConfigReader.hpp +++ b/src/config/ConfigReader.hpp @@ -34,10 +34,11 @@ class ConfigReader void setFile(boost::filesystem::path p); - std::string getString(std::string setting); - unsigned long getULong(std::string setting); - long getLong(std::string setting); - bool getBool(std::string setting); + /* Default values are returned in case of setting not found */ + std::string getString(std::string setting, std::string def = ""); + unsigned long getULong(std::string setting, unsigned long def = 0); + long getLong(std::string setting, long def = 0); + bool getBool(std::string setting, bool def = false); private: diff --git a/src/lms-api/messages/Header.hpp b/src/lms-api/messages/Header.hpp index 6744b343..d0e97cc6 100644 --- a/src/lms-api/messages/Header.hpp +++ b/src/lms-api/messages/Header.hpp @@ -20,8 +20,6 @@ #ifndef REMOTE_HEADER_HPP #define REMOTE_HEADER_HPP -#include "logger/Logger.hpp" - #include namespace LmsAPI @@ -53,17 +51,13 @@ class Header bool from_buffer(const std::array& buffer) { - if (decode32(&buffer[0]) != _magic) { - LMS_LOG(MOD_REMOTE, SEV_ERROR) << "Header: bad magic ('" << std::hex << std::setfill('0') << std::setw(8) << decode32(&buffer[0]) << "' instead of '" << std::hex << std::setfill('0') << std::setw(8) << _magic << "')"; + if (decode32(&buffer[0]) != _magic) + { return false; } else { _dataSize = decode32(&buffer[4]); - - if (_dataSize > max_data_size) - LMS_LOG(MOD_REMOTE, SEV_ERROR) << "Header: msg too big (" << _dataSize << ")!"; - return _dataSize <= max_data_size; } } diff --git a/src/logger/Logger.cpp b/src/logger/Logger.cpp index b99f5664..ad1f3a00 100644 --- a/src/logger/Logger.cpp +++ b/src/logger/Logger.cpp @@ -81,7 +81,7 @@ Logger::init() boost::log::register_simple_formatter_factory< Severity, char >("Severity"); - if (ConfigReader::instance().getBool("main.logger.file.enable")) + if (ConfigReader::instance().getBool("main.logger.file.enable"), false) { boost::log::add_file_log ( @@ -99,7 +99,7 @@ Logger::init() ); } - if (ConfigReader::instance().getBool("main.logger.console.enable")) + if (ConfigReader::instance().getBool("main.logger.console.enable"), false) { boost::log::add_console_log(std::cout, boost::log::keywords::format = ( @@ -114,7 +114,7 @@ Logger::init() boost::log::core::get()->set_filter ( - boost::log::expressions::attr("Severity") <= ConfigReader::instance().getULong("main.logger.level") + boost::log::expressions::attr("Severity") <= ConfigReader::instance().getULong("main.logger.level", SEV_DEBUG) ); } diff --git a/src/logger/Logger.hpp b/src/logger/Logger.hpp index 98d5c69f..1949b512 100644 --- a/src/logger/Logger.hpp +++ b/src/logger/Logger.hpp @@ -65,7 +65,6 @@ class Logger static Logger& instance(); - //[ example_tutorial_file_advanced void init(); boost::log::sources::severity_logger< Severity >& diff --git a/test/Makefile.am b/test/Makefile.am index 6b3dddd6..60d0f137 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -8,8 +8,8 @@ TESTS += remote-client check_PROGRAMS += remote-client remote_client_SOURCES = \ - $(srcdir)/RemoteClient.cpp \ - $(top_srcdir)/src/logger/Logger.cpp + $(srcdir)/RemoteClient.cpp + nodist_remote_client_SOURCES = \ $(builddir)/auth.pb.cc \ $(builddir)/collection.pb.cc \ @@ -31,6 +31,7 @@ endif database_basics_SOURCES = \ $(srcdir)/CheckDbBasics.cpp \ + $(top_srcdir)/src/config/ConfigReader.cpp \ $(top_srcdir)/src/logger/Logger.cpp \ $(top_srcdir)/src/database/Artist.cpp \ $(top_srcdir)/src/database/DatabaseHandler.cpp \ @@ -47,6 +48,7 @@ database_basics_CXXFLAGS=-std=c++11 -Wall -Wextra -DBOOST_LOG_DYN_LINK -I$(top_s database_user_SOURCES = \ $(srcdir)/CheckDatabaseUser.cpp \ + $(top_srcdir)/src/config/ConfigReader.cpp \ $(top_srcdir)/src/logger/Logger.cpp \ $(top_srcdir)/src/database/Artist.cpp \ $(top_srcdir)/src/database/Playlist.cpp \ @@ -64,6 +66,7 @@ database_user_CXXFLAGS=-std=c++11 -Wall -Wextra -DBOOST_LOG_DYN_LINK -I$(top_src database_integrity_SOURCES = \ $(srcdir)/DatabaseIntegrity.cpp \ + $(top_srcdir)/src/config/ConfigReader.cpp \ $(top_srcdir)/src/logger/Logger.cpp \ $(top_srcdir)/src/database/Artist.cpp \ $(top_srcdir)/src/database/Playlist.cpp \