From 6b45e0e418eef8c07e3c9499fba841ecb9df99e1 2017-06-09 20:34:39 From: Vitaly Takmazov Date: 2017-06-09 20:34:39 Subject: [PATCH] Swiften 4.0rc2 compatibility --- diff --git a/backends/frotz/main.cpp b/backends/frotz/main.cpp index 3aa4ed7d5f409d0711efb8569456c82568709538..da6cd970c79c70fb51fbe3738842c77f93cf7980 100644 --- a/backends/frotz/main.cpp +++ b/backends/frotz/main.cpp @@ -156,7 +156,7 @@ class FrotzNetworkPlugin : public NetworkPlugin { m_factories = new Swift::BoostNetworkFactories(loop); m_conn = m_factories->getConnectionFactory()->createConnection(); m_conn->onDataRead.connect(boost::bind(&FrotzNetworkPlugin::_handleDataRead, this, _1)); - m_conn->connect(Swift::HostAddressPort(Swift::HostAddress(host), port)); + m_conn->connect(Swift::HostAddressPort(SWIFT_HOSTADDRESS(host), port)); // m_conn->onConnectFinished.connect(boost::bind(&FrotzNetworkPlugin::_handleConnected, this, _1)); // m_conn->onDisconnected.connect(boost::bind(&FrotzNetworkPlugin::handleDisconnected, this)); } diff --git a/backends/smstools3/main.cpp b/backends/smstools3/main.cpp index a285ef8e007b1991241deaa816ff818d0c5047f9..5501597535d224fbf10a8096d7f649af95515c84 100644 --- a/backends/smstools3/main.cpp +++ b/backends/smstools3/main.cpp @@ -57,7 +57,7 @@ class SMSNetworkPlugin : public NetworkPlugin { m_factories = new Swift::BoostNetworkFactories(loop); m_conn = m_factories->getConnectionFactory()->createConnection(); m_conn->onDataRead.connect(boost::bind(&SMSNetworkPlugin::_handleDataRead, this, _1)); - m_conn->connect(Swift::HostAddressPort(Swift::HostAddress(host), port)); + m_conn->connect(Swift::HostAddressPort(SWIFT_HOSTADDRESS(host), port)); // m_conn->onConnectFinished.connect(boost::bind(&FrotzNetworkPlugin::_handleConnected, this, _1)); // m_conn->onDisconnected.connect(boost::bind(&FrotzNetworkPlugin::handleDisconnected, this)); diff --git a/backends/swiften/main.cpp b/backends/swiften/main.cpp index d13fabd0ed7a878c7b41e9de41337d497707b233..26ffbb2e17ac3b12ff844de07f774778cf1c247f 100644 --- a/backends/swiften/main.cpp +++ b/backends/swiften/main.cpp @@ -89,7 +89,7 @@ class SwiftenPlugin : public NetworkPlugin, Swift::XMPPParserClient { m_factories = new Swift::BoostNetworkFactories(loop); m_conn = m_factories->getConnectionFactory()->createConnection(); m_conn->onDataRead.connect(boost::bind(&SwiftenPlugin::_handleDataRead, this, _1)); - m_conn->connect(Swift::HostAddressPort(Swift::HostAddress(host), port)); + m_conn->connect(Swift::HostAddressPort(SWIFT_HOSTADDRESS(host), port)); #if HAVE_SWIFTEN_3 serializer = new Swift::XMPPSerializer(&collection, Swift::ClientStreamType, false); #else diff --git a/backends/template/plugin.cpp b/backends/template/plugin.cpp index 4f6cfa84c433f5226eeb710863bf214ecd9afbe8..b955275adf52074e7ade05bafd11023c5b071a7e 100644 --- a/backends/template/plugin.cpp +++ b/backends/template/plugin.cpp @@ -20,7 +20,7 @@ Plugin::Plugin(Config *config, Swift::SimpleEventLoop *loop, const std::string & m_factories = new Swift::BoostNetworkFactories(loop); m_conn = m_factories->getConnectionFactory()->createConnection(); m_conn->onDataRead.connect(boost::bind(&Plugin::_handleDataRead, this, _1)); - m_conn->connect(Swift::HostAddressPort(Swift::HostAddress(host), port)); + m_conn->connect(Swift::HostAddressPort(SWIFT_HOSTADDRESS(host), port)); LOG4CXX_INFO(logger, "Starting the plugin."); } diff --git a/backends/twitter/TwitterPlugin.cpp b/backends/twitter/TwitterPlugin.cpp index f206e80c35f6e9aea68bd11a7a669baccd2236d2..b03a54a454f8401b76eba2ac88c828ca55e200a0 100644 --- a/backends/twitter/TwitterPlugin.cpp +++ b/backends/twitter/TwitterPlugin.cpp @@ -72,7 +72,7 @@ TwitterPlugin::TwitterPlugin(Config *config, Swift::SimpleEventLoop *loop, Stora m_factories = new Swift::BoostNetworkFactories(loop); m_conn = m_factories->getConnectionFactory()->createConnection(); m_conn->onDataRead.connect(boost::bind(&TwitterPlugin::_handleDataRead, this, _1)); - m_conn->connect(Swift::HostAddressPort(Swift::HostAddress(host), port)); + m_conn->connect(Swift::HostAddressPort(SWIFT_HOSTADDRESS(host), port)); tp = new ThreadPool(loop_, 10); diff --git a/include/Swiften/FileTransfer/CombinedOutgoingFileTransferManager.cpp b/include/Swiften/FileTransfer/CombinedOutgoingFileTransferManager.cpp index 3f98cbb96a2053c87c450677c358b384520f45b8..47540a199256d66882743591d20b7cbf4efe9a49 100644 --- a/include/Swiften/FileTransfer/CombinedOutgoingFileTransferManager.cpp +++ b/include/Swiften/FileTransfer/CombinedOutgoingFileTransferManager.cpp @@ -6,6 +6,7 @@ #include "CombinedOutgoingFileTransferManager.h" +#include #include #include @@ -18,7 +19,6 @@ #include #include #include -#include namespace Swift { @@ -68,7 +68,7 @@ boost::optional CombinedOutgoingFileTransferManager::highestPriorityJIDSupp std::vector presences = presenceOracle->getAllPresence(bareJID); //iterate over them - foreach(Presence::ref pres, presences) { + BOOST_FOREACH(Presence::ref pres, presences) { if (pres->getPriority() > priority) { // look up caps from the jid DiscoInfo::ref info = capsProvider->getCaps(pres->getFrom()); @@ -92,7 +92,7 @@ boost::optional CombinedOutgoingFileTransferManager::highestPriorityJIDSupp std::vector presences = presenceOracle->getAllPresence(bareJID); //iterate over them - foreach(Presence::ref pres, presences) { + BOOST_FOREACH(Presence::ref pres, presences) { if (pres->getPriority() > priority) { // look up caps from the jid DiscoInfo::ref info = capsProvider->getCaps(pres->getFrom()); diff --git a/include/Swiften/Parser/PayloadParsers/GatewayPayloadParser.cpp b/include/Swiften/Parser/PayloadParsers/GatewayPayloadParser.cpp index 304379262665a5fed3352e3dc2e07f2f3f8c67c4..43678925aaa7147e5697b86f361665654278c479 100644 --- a/include/Swiften/Parser/PayloadParsers/GatewayPayloadParser.cpp +++ b/include/Swiften/Parser/PayloadParsers/GatewayPayloadParser.cpp @@ -6,18 +6,18 @@ #include +#include #include #include #include -#include #include #include namespace Swift { void GatewayPayloadParser::handleTree(ParserElement::ref root) { - foreach (ParserElement::ref child, root->getAllChildren()) { + BOOST_FOREACH (ParserElement::ref child, root->getAllChildren()) { if (child->getName() == "desc") { getPayloadInternal()->setDesc(child->getText()); } diff --git a/include/Swiften/Parser/PayloadParsers/MUCPayloadParser.cpp b/include/Swiften/Parser/PayloadParsers/MUCPayloadParser.cpp index 257c3da3835ae3d478a6be420832faad2a634f04..3513082c1d23f15e94536ca09855227088b9fdab 100644 --- a/include/Swiften/Parser/PayloadParsers/MUCPayloadParser.cpp +++ b/include/Swiften/Parser/PayloadParsers/MUCPayloadParser.cpp @@ -6,18 +6,18 @@ #include +#include #include #include #include -#include #include #include namespace Swift { void MUCPayloadParser::handleTree(ParserElement::ref root) { - foreach (ParserElement::ref child, root->getAllChildren()) { + BOOST_FOREACH (ParserElement::ref child, root->getAllChildren()) { if (child->getName() == "password" && child->getNamespace() == root->getNamespace()) { getPayloadInternal()->setPassword(child->getText()); } diff --git a/include/Swiften/Parser/StringTreeParser.cpp b/include/Swiften/Parser/StringTreeParser.cpp index 92412d14a429d831e93f94289fd0e3b5c369ba5a..f04f07aafc104ea58e03ac696896fc849f09d0a4 100644 --- a/include/Swiften/Parser/StringTreeParser.cpp +++ b/include/Swiften/Parser/StringTreeParser.cpp @@ -8,6 +8,7 @@ #include #include #include +#include namespace Swift { @@ -28,11 +29,17 @@ class DefaultStringTreeParser : public StringTreeParser { ParserElement::ref StringTreeParser::parse(const std::string &xml) { PlatformXMLParserFactory factory; DefaultStringTreeParser client; +#if (SWIFTEN_VERSION >= 0x040000) + std::unique_ptr parser = factory.createXMLParser(&client); +#else XMLParser *parser = factory.createXMLParser(&client); +#endif parser->parse(xml); ParserElement::ref root = client.getRoot(); +#if (SWIFTEN_VERSION < 0x040000) delete parser; +#endif return root; } diff --git a/include/Swiften/Serializer/PayloadSerializers/GatewayPayloadSerializer.cpp b/include/Swiften/Serializer/PayloadSerializers/GatewayPayloadSerializer.cpp index c63351f56314a0850146825a30f4e0ef51d72b5c..cac560dcac0088be4a047c7ab5f089835ee25658 100644 --- a/include/Swiften/Serializer/PayloadSerializers/GatewayPayloadSerializer.cpp +++ b/include/Swiften/Serializer/PayloadSerializers/GatewayPayloadSerializer.cpp @@ -5,7 +5,6 @@ */ #include -#include #include #include #include diff --git a/include/Swiften/Serializer/PayloadSerializers/SpectrumErrorSerializer.cpp b/include/Swiften/Serializer/PayloadSerializers/SpectrumErrorSerializer.cpp index 9f7d70afb05588f77ee29580e221c02d1fd293d0..3df505fa16b7c6b53e531993d1739a8023e00fa4 100644 --- a/include/Swiften/Serializer/PayloadSerializers/SpectrumErrorSerializer.cpp +++ b/include/Swiften/Serializer/PayloadSerializers/SpectrumErrorSerializer.cpp @@ -6,12 +6,10 @@ #include -#include - -#include #include #include #include +#include "Swiften/SwiftenCompat.h" #include namespace Swift { diff --git a/include/Swiften/Serializer/PayloadSerializers/StatsSerializer.cpp b/include/Swiften/Serializer/PayloadSerializers/StatsSerializer.cpp index 41aa171a93a342b6b321cea8869b31bf6ef8e912..21374970440d124cc63a7bcf6919816695dd7f8a 100644 --- a/include/Swiften/Serializer/PayloadSerializers/StatsSerializer.cpp +++ b/include/Swiften/Serializer/PayloadSerializers/StatsSerializer.cpp @@ -4,11 +4,10 @@ * See Documentation/Licenses/BSD-simplified.txt for more information. */ -#include +#include -#include +#include -#include #include #include #include @@ -22,7 +21,7 @@ StatsSerializer::StatsSerializer() : GenericPayloadSerializer() { std::string StatsSerializer::serializePayload(SWIFTEN_SHRPTR_NAMESPACE::shared_ptr stats) const { XMLElement queryElement("query", "http://jabber.org/protocol/stats"); - foreach(const StatsPayload::Item& item, stats->getItems()) { + BOOST_FOREACH(const StatsPayload::Item& item, stats->getItems()) { SWIFTEN_SHRPTR_NAMESPACE::shared_ptr statElement(new XMLElement("stat")); statElement->setAttribute("name", item.getName()); if (!item.getUnits().empty()) { diff --git a/include/Swiften/Serializer/PayloadSerializers/XHTMLIMSerializer.cpp b/include/Swiften/Serializer/PayloadSerializers/XHTMLIMSerializer.cpp index 192ef7fc2f449998941da1ac489d79c66dd50e5c..3495416905733ac155c952f88ae4c3a19636601a 100644 --- a/include/Swiften/Serializer/PayloadSerializers/XHTMLIMSerializer.cpp +++ b/include/Swiften/Serializer/PayloadSerializers/XHTMLIMSerializer.cpp @@ -5,7 +5,6 @@ */ #include -#include #include #include #include diff --git a/include/Swiften/Server/Server.cpp b/include/Swiften/Server/Server.cpp index c160639384e201a1bf3c53c9e9a8cea0f08ec2f9..0ff125f077cfbfd5b9185bd657a5891866506c70 100644 --- a/include/Swiften/Server/Server.cpp +++ b/include/Swiften/Server/Server.cpp @@ -8,10 +8,10 @@ #include #include +#include #include #include "Swiften/Base/String.h" -#include "Swiften/Base/foreach.h" #include "Swiften/Network/Connection.h" #include "Swiften/Network/ConnectionServer.h" #include "Swiften/Network/ConnectionServerFactory.h" @@ -70,7 +70,7 @@ void Server::start() { serverFromClientConnectionServer = networkFactories_->getConnectionServerFactory()->createConnectionServer(port_); } else { - serverFromClientConnectionServer = networkFactories_->getConnectionServerFactory()->createConnectionServer(Swift::HostAddress(address_), port_); + serverFromClientConnectionServer = networkFactories_->getConnectionServerFactory()->createConnectionServer(SWIFT_HOSTADDRESS(address_), port_); } serverFromClientConnectionServerSignalConnections.push_back( serverFromClientConnectionServer->onNewConnection.connect( @@ -96,7 +96,7 @@ void Server::stop() { if (serverFromClientConnectionServer) { serverFromClientConnectionServer->stop(); - foreach(SWIFTEN_SIGNAL_NAMESPACE::connection& connection, serverFromClientConnectionServerSignalConnections) { + BOOST_FOREACH(SWIFTEN_SIGNAL_NAMESPACE::connection& connection, serverFromClientConnectionServerSignalConnections) { connection.disconnect(); } serverFromClientConnectionServerSignalConnections.clear(); diff --git a/include/Swiften/SwiftenCompat.h b/include/Swiften/SwiftenCompat.h index 21fca92b40c0253e9e97a61ba4c0f8e9998fc33c..7e31baea2e6b53af3712df968c3802484d64f1cf 100644 --- a/include/Swiften/SwiftenCompat.h +++ b/include/Swiften/SwiftenCompat.h @@ -38,7 +38,9 @@ #if (SWIFTEN_VERSION >= 0x040000) #define SWIFTEN_SHRPTR_NAMESPACE std #define SWIFTEN_SIGNAL_NAMESPACE boost::signals2 +#define SWIFT_HOSTADDRESS(x) *(Swift::HostAddress::fromString(x)) #else #define SWIFTEN_SHRPTR_NAMESPACE boost #define SWIFTEN_SIGNAL_NAMESPACE boost::signals +#define SWIFT_HOSTADDRESS(x) Swift::HostAddress(x) #endif diff --git a/libtransport/Config.cpp b/libtransport/Config.cpp index c18b5f777e798987ddc637c7b9e5529e9bc28c50..6622abe48bab171cfc1ca0e2f3ca532438cdf992 100644 --- a/libtransport/Config.cpp +++ b/libtransport/Config.cpp @@ -73,7 +73,7 @@ bool Config::load(std::istream &ifs, boost::program_options::options_description m_unregistered.clear(); opts.add_options() ("service.jid", value()->default_value(""), "Transport Jabber ID") - ("service.server", value()->default_value(""), "Server to connect to") + ("service.server", value()->default_value("127.0.0.1"), "Server to connect to") ("service.password", value()->default_value(""), "Password used to auth the server") ("service.port", value()->default_value(0), "Port the server is listening on") ("service.user", value()->default_value(""), "The name of user Spectrum runs as.") @@ -86,7 +86,7 @@ bool Config::load(std::istream &ifs, boost::program_options::options_description ("service.allowed_servers", value >()->multitoken(), "Only users from these servers can connect") ("service.server_mode", value()->default_value(false), "True if Spectrum should behave as server") ("service.users_per_backend", value()->default_value(100), "Number of users per one legacy network backend") - ("service.backend_host", value()->default_value("localhost"), "Host to bind backend server to") + ("service.backend_host", value()->default_value("127.0.0.1"), "Host to bind backend server to") ("service.backend_port", value()->default_value("0"), "Port to bind backend server to") ("service.cert", value()->default_value(""), "PKCS#12 Certificate.") ("service.cert_password", value()->default_value(""), "PKCS#12 Certificate password.") diff --git a/libtransport/NetworkPluginServer.cpp b/libtransport/NetworkPluginServer.cpp index 821f01bbd847db2bec9dee1115e88374cc2b3485..6cc152cd25ded3d784969d0c296b5c2b3768cd8b 100644 --- a/libtransport/NetworkPluginServer.cpp +++ b/libtransport/NetworkPluginServer.cpp @@ -306,7 +306,7 @@ NetworkPluginServer::NetworkPluginServer(Component *component, Config *config, U // // m_blockResponder->onBlockToggled.connect(boost::bind(&NetworkPluginServer::handleBlockToggled, this, _1)); // // m_blockResponder->start(); - m_server = component->getNetworkFactories()->getConnectionServerFactory()->createConnectionServer(Swift::HostAddress(CONFIG_STRING(m_config, "service.backend_host")), boost::lexical_cast(CONFIG_STRING(m_config, "service.backend_port"))); + m_server = component->getNetworkFactories()->getConnectionServerFactory()->createConnectionServer(SWIFT_HOSTADDRESS(CONFIG_STRING_DEFAULTED(m_config, "service.backend_host", "127.0.0.1")), boost::lexical_cast(CONFIG_STRING(m_config, "service.backend_port"))); m_server->onNewConnection.connect(boost::bind(&NetworkPluginServer::handleNewClientConnection, this, _1)); } diff --git a/spectrum_manager/src/methods.cpp b/spectrum_manager/src/methods.cpp index 9b79eed3b0b0907aeb4fcf5acbca6b275624641a..8cf5ddf799680423988dad165c282ca6c140ce21 100644 --- a/spectrum_manager/src/methods.cpp +++ b/spectrum_manager/src/methods.cpp @@ -591,7 +591,7 @@ void ask_local_server(ManagerConfig *config, Swift::BoostNetworkFactories &netwo m_conn = networkFactories.getConnectionFactory()->createConnection(); m_conn->onDataRead.connect(boost::bind(&handleDataRead, m_conn, _1)); m_conn->onConnectFinished.connect(boost::bind(&handleConnected, m_conn, message, _1)); - m_conn->connect(Swift::HostAddressPort(Swift::HostAddress(CONFIG_STRING(&cfg, "service.backend_host")), getPort(CONFIG_STRING(&cfg, "service.portfile")))); + m_conn->connect(Swift::HostAddressPort(SWIFT_HOSTADDRESS(CONFIG_STRING_DEFAULTED(&cfg, "service.backend_host", "127.0.0.1")), getPort(CONFIG_STRING(&cfg, "service.portfile")))); } }