From 829c94f3d6c94695d9db0d09b242ca84e944662c Mon Sep 17 00:00:00 2001 From: HanzZ Date: Tue, 31 Jul 2012 16:48:31 +0200 Subject: [PATCH] Added way to disable xhtmlim from backend and don't handle messages with empty body --- src/config.cpp | 1 + src/networkpluginserver.cpp | 2 +- src/usermanager.cpp | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/config.cpp b/src/config.cpp index f3110e8b..e7f505f5 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -91,6 +91,7 @@ bool Config::load(std::istream &ifs, boost::program_options::options_description ("service.memory_collector_time", value()->default_value(0), "Time in seconds after which backend with most memory is set to die.") ("service.more_resources", value()->default_value(false), "Allow more resources to be connected in server mode at the same time.") ("service.enable_privacy_lists", value()->default_value(true), "") + ("service.enable_xhtml", value()->default_value(true), "") ("vhosts.vhost", value >()->multitoken(), "") ("identity.name", value()->default_value("Spectrum 2 Transport"), "Name showed in service discovery.") ("identity.category", value()->default_value("gateway"), "Disco#info identity category. 'gateway' by default.") diff --git a/src/networkpluginserver.cpp b/src/networkpluginserver.cpp index 9a7f1d4a..2f197b2b 100644 --- a/src/networkpluginserver.cpp +++ b/src/networkpluginserver.cpp @@ -577,7 +577,7 @@ void NetworkPluginServer::handleConvMessagePayload(const std::string &data, bool } // Add xhtml-im payload. - if (!payload.xhtml().empty()) { + if (CONFIG_BOOL(m_config, "service.enabled_xhtml") && !payload.xhtml().empty()) { msg->addPayload(boost::make_shared(payload.xhtml())); } diff --git a/src/usermanager.cpp b/src/usermanager.cpp index 10162761..ff4bb6dd 100644 --- a/src/usermanager.cpp +++ b/src/usermanager.cpp @@ -312,6 +312,10 @@ void UserManager::handleMessageReceived(Swift::Message::ref message) { return; } + if (message->getBody().empty()) { + return; + } + User *user = getUser(message->getFrom().toBare().toString()); if (!user){ return;