diff --git a/src/config.cpp b/src/config.cpp index f3110e8bc794c8e5e34a13cd70adbc3003eb7d34..e7f505f54a66915a5a833e0c1a63871f0cc52e84 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 9a7f1d4aeef7b0988ec5671621d3f3a463443d9e..2f197b2b9fd113a5bc75d3c32fb17364f23084bc 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 101627616b03b0198c7af26a0300994e5d04f132..ff4bb6ddf941cfb1093737f3ba54feda7134dc3c 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;