diff options
author | Daniel Gultsch <daniel.gultsch@rwth-aachen.de> | 2014-04-16 23:11:37 +0200 |
---|---|---|
committer | Andreas Straub <andy@strb.org> | 2014-04-18 00:17:34 +0200 |
commit | 0de0cb90a09ca545f7bac5a7859eef417b5eb5d1 (patch) | |
tree | ae9e403ddff54a7215a54a179eb0e47a9ba9fd5a /src/eu/siacs/conversations/xmpp/jingle | |
parent | e29ce19f202e535f44098f280650ad892c943e52 (diff) |
fixed destination bug
Diffstat (limited to 'src/eu/siacs/conversations/xmpp/jingle')
-rw-r--r-- | src/eu/siacs/conversations/xmpp/jingle/JingleConnection.java | 5 | ||||
-rw-r--r-- | src/eu/siacs/conversations/xmpp/jingle/SocksConnection.java | 11 |
2 files changed, 11 insertions, 5 deletions
diff --git a/src/eu/siacs/conversations/xmpp/jingle/JingleConnection.java b/src/eu/siacs/conversations/xmpp/jingle/JingleConnection.java index 4f889c00..75c2c8e0 100644 --- a/src/eu/siacs/conversations/xmpp/jingle/JingleConnection.java +++ b/src/eu/siacs/conversations/xmpp/jingle/JingleConnection.java @@ -261,7 +261,7 @@ public class JingleConnection { IqPacket activation = new IqPacket(IqPacket.TYPE_SET); activation.setTo(connection.getJid()); activation.query("http://jabber.org/protocol/bytestreams").setAttribute("sid", this.getSessionId()); - activation.query().addChild("activate").setContent(this.getResponder()); + activation.query().addChild("activate").setContent(this.getCounterPart()); this.account.getXmppConnection().sendIqPacket(activation, new OnIqPacketReceived() { @Override @@ -322,7 +322,8 @@ public class JingleConnection { } private void connectWithCandidate(Element candidate) { - final SocksConnection socksConnection = new SocksConnection(this,candidate); + boolean initating = candidate.getAttribute("cid").equals(mJingleConnectionManager.getPrimaryCandidateId(account)); + final SocksConnection socksConnection = new SocksConnection(this,candidate,initating); connections.put(socksConnection.getCid(), socksConnection); socksConnection.connect(new OnSocksConnection() { diff --git a/src/eu/siacs/conversations/xmpp/jingle/SocksConnection.java b/src/eu/siacs/conversations/xmpp/jingle/SocksConnection.java index cfa24d50..affbb5f3 100644 --- a/src/eu/siacs/conversations/xmpp/jingle/SocksConnection.java +++ b/src/eu/siacs/conversations/xmpp/jingle/SocksConnection.java @@ -30,7 +30,7 @@ public class SocksConnection { private InputStream inputStream; private boolean isEstablished = false; - public SocksConnection(JingleConnection jingleConnection, Element candidate) { + public SocksConnection(JingleConnection jingleConnection, Element candidate, boolean initating) { this.cid = candidate.getAttribute("cid"); this.host = candidate.getAttribute("host"); this.port = Integer.parseInt(candidate.getAttribute("port")); @@ -41,8 +41,13 @@ public class SocksConnection { MessageDigest mDigest = MessageDigest.getInstance("SHA-1"); StringBuilder destBuilder = new StringBuilder(); destBuilder.append(jingleConnection.getSessionId()); - destBuilder.append(jingleConnection.getInitiator()); - destBuilder.append(jingleConnection.getResponder()); + if (initating) { + destBuilder.append(jingleConnection.getAccountJid()); + destBuilder.append(jingleConnection.getCounterPart()); + } else { + destBuilder.append(jingleConnection.getCounterPart()); + destBuilder.append(jingleConnection.getAccountJid()); + } mDigest.reset(); this.destination = CryptoHelper.bytesToHex(mDigest .digest(destBuilder.toString().getBytes())); |