diff --git a/libtransport/Conversation.cpp b/libtransport/Conversation.cpp index a42515c1e6814284061522ad9a5654b5b9900af6..7ae742e48478716e992f131dbe7217b8dd6cd23e 100644 --- a/libtransport/Conversation.cpp +++ b/libtransport/Conversation.cpp @@ -241,9 +241,13 @@ void Conversation::handleMessage(SWIFTEN_SHRPTR_NAMESPACE::shared_ptrgetFrom(); - message->setFrom(message->getTo()); - message->setTo(from); + Swift::JID from = message->getTo(); + if (from.getResource().empty()) { + //If no resource is specified, set the same that is used for legacy network contacts + from = Swift::JID(from.getNode(), from.getDomain(), JID_DEFAULT_RESOURCE); + } + message->setTo(message->getFrom()); + message->setFrom(from); //Carbons should be sent to every resource directly. //Even if we tried to send to bare jid, the server would at best route it