Send from our full jid (fixes #60)

The problem wasn't with sending to bare jids, but rather sending
*from* bare jids, which we did unless we were OTR encrypted for
some reason. Google Talk supports the former, but (probably correctly)
rejects the latter.
This commit is contained in:
Steven Dee 2014-06-15 05:38:15 -07:00
parent 7f1a4a6fb8
commit 473cef32fa

View File

@ -817,6 +817,7 @@ public class XmppConnectionService extends Service {
MessagePacket packet = new MessagePacket(); MessagePacket packet = new MessagePacket();
if (message.getConversation().getMode() == Conversation.MODE_SINGLE) { if (message.getConversation().getMode() == Conversation.MODE_SINGLE) {
packet.setType(MessagePacket.TYPE_CHAT); packet.setType(MessagePacket.TYPE_CHAT);
packet.setFrom(account.getFullJid());
if (otrSession != null) { if (otrSession != null) {
try { try {
packet.setBody(otrSession.transformSending(message packet.setBody(otrSession.transformSending(message
@ -831,11 +832,9 @@ public class XmppConnectionService extends Service {
packet.addChild("no-copy", "urn:xmpp:hints"); packet.addChild("no-copy", "urn:xmpp:hints");
packet.setTo(otrSession.getSessionID().getAccountID() + "/" packet.setTo(otrSession.getSessionID().getAccountID() + "/"
+ otrSession.getSessionID().getUserID()); + otrSession.getSessionID().getUserID());
packet.setFrom(account.getFullJid());
} else { } else {
packet.setBody(message.getBody()); packet.setBody(message.getBody());
packet.setTo(message.getCounterpart()); packet.setTo(message.getCounterpart());
packet.setFrom(account.getJid());
} }
packet.addChild("markable", "urn:xmpp:chat-markers:0"); packet.addChild("markable", "urn:xmpp:chat-markers:0");
} else if (message.getConversation().getMode() == Conversation.MODE_MULTI) { } else if (message.getConversation().getMode() == Conversation.MODE_MULTI) {