fixed destination calculation for direct socks candidates. fixes #3715

(cherry picked from commit 90526efbd4)
This commit is contained in:
Daniel Gultsch 2020-05-11 11:08:45 +02:00 committed by Christian Schneppe
parent e6172547c8
commit c686dcac75
No known key found for this signature in database
GPG key ID: F30B8D686B44D87E

View file

@ -56,12 +56,22 @@ public class JingleSocks5Transport extends JingleTransport {
} else {
destBuilder.append(this.connection.getTransportId());
}
if (candidate.isOurs()) {
destBuilder.append(this.account.getJid());
destBuilder.append(this.connection.getId().with);
if (candidate.getType() == JingleCandidate.TYPE_PROXY) {
if (candidate.isOurs()) {
destBuilder.append(this.account.getJid());
destBuilder.append(this.connection.getId().with);
} else {
destBuilder.append(this.connection.getId().with);
destBuilder.append(this.account.getJid());
}
} else {
destBuilder.append(this.connection.getId().with);
destBuilder.append(this.account.getJid());
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()));