correctly calculate socks destination

This commit is contained in:
Daniel Gultsch 2021-10-02 16:44:36 +02:00
parent da14f83a42
commit d2a387e82f

View file

@ -60,7 +60,6 @@ public class JingleSocks5Transport extends JingleTransport {
} else {
destBuilder.append(this.connection.getTransportId());
}
if (candidate.getType() == JingleCandidate.TYPE_PROXY) {
if (candidate.isOurs()) {
destBuilder.append(this.account.getJid());
destBuilder.append(this.connection.getId().with);
@ -68,15 +67,6 @@ public class JingleSocks5Transport extends JingleTransport {
destBuilder.append(this.connection.getId().with);
destBuilder.append(this.account.getJid());
}
} else {
if (connection.isInitiator()) {
destBuilder.append(this.account.getJid());
destBuilder.append(this.connection.getId().with);
} else {
destBuilder.append(this.connection.getId().with);
destBuilder.append(this.account.getJid());
}
}
messageDigest.reset();
this.destination = CryptoHelper.bytesToHex(messageDigest.digest(destBuilder.toString().getBytes()));
if (candidate.isOurs() && candidate.getType() == JingleCandidate.TYPE_DIRECT) {
@ -189,7 +179,8 @@ public class JingleSocks5Transport extends JingleTransport {
socket.setSoTimeout(0);
isEstablished = true;
callback.established();
} catch (IOException e) {
} catch (final IOException e) {
Log.d(Config.LOGTAG, "unable to establish connection to candidate", e);
callback.failed();
}
}).start();