diff --git a/src/config.cpp b/src/config.cpp index f1a476ae68cb821e001aa661f95d14049349e1b6..7df60defa0de9d2cc79239adad349d27659468b1 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -316,6 +316,7 @@ void Config::updateBackendConfig(const std::string &backendConfig) { ("features.receipts", value()->default_value(false), "") ("features.muc", value()->default_value(false), "") ("features.rawxml", value()->default_value(false), "") + ("features.disable_jid_escaping", value()->default_value(false), "") ; std::stringstream ifs(backendConfig); @@ -325,6 +326,12 @@ void Config::updateBackendConfig(const std::string &backendConfig) { notify(m_backendConfig); onBackendConfigUpdated(); + + if (CONFIG_BOOL_DEFAULTED(this, "features.disable_jid_escaping", false)) { + Variables::iterator it(m_variables.find("service.jid_escaping")); + boost::program_options::variable_value& vx(it->second); + vx.value() = false; + } } Config *Config::createFromArgs(int argc, char **argv, std::string &error, std::string &host, int &port) {