diff options
Diffstat (limited to 'src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java')
-rw-r--r-- | src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java index 0ef15a792..2b9d6632d 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java +++ b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java @@ -23,7 +23,6 @@ import java.net.Socket; import java.net.UnknownHostException; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; -import java.security.SecureRandom; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -38,7 +37,6 @@ import javax.net.ssl.SSLSocket; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.X509TrustManager; -import de.duenndns.ssl.MemorizingTrustManager; import eu.siacs.conversations.Config; import eu.siacs.conversations.entities.Account; import eu.siacs.conversations.services.XmppConnectionService; @@ -71,7 +69,6 @@ public class XmppConnection implements Runnable { private final Context applicationContext; protected Account account; private WakeLock wakeLock; - private SecureRandom mRandom; private Socket socket; private XmlReader tagReader; private TagWriter tagWriter; @@ -100,15 +97,14 @@ public class XmppConnection implements Runnable { private OnStatusChanged statusListener = null; private OnBindListener bindListener = null; private OnMessageAcknowledged acknowledgedListener = null; - private MemorizingTrustManager mMemorizingTrustManager; + private XmppConnectionService mXmppConnectionService = null; public XmppConnection(Account account, XmppConnectionService service) { - this.mRandom = service.getRNG(); - this.mMemorizingTrustManager = service.getMemorizingTrustManager(); this.account = account; this.wakeLock = service.getPowerManager().newWakeLock( PowerManager.PARTIAL_WAKE_LOCK, account.getJid()); tagWriter = new TagWriter(); + mXmppConnectionService = service; applicationContext = service.getApplicationContext(); } @@ -298,7 +294,7 @@ public class XmppConnection implements Runnable { response.setAttribute("xmlns", "urn:ietf:params:xml:ns:xmpp-sasl"); response.setContent(CryptoHelper.saslDigestMd5(account, - challange, mRandom)); + challange, mXmppConnectionService.getRNG())); tagWriter.writeElement(response); } else if (nextTag.isStart("enabled")) { Element enabled = tagReader.readElement(nextTag); @@ -547,16 +543,15 @@ public class XmppConnection implements Runnable { try { SSLContext sc = SSLContext.getInstance("TLS"); sc.init(null, - new X509TrustManager[]{this.mMemorizingTrustManager}, - mRandom); + new X509TrustManager[]{this.mXmppConnectionService.getMemorizingTrustManager()}, + mXmppConnectionService.getRNG()); SSLSocketFactory factory = sc.getSocketFactory(); if (factory == null) { throw new IOException("SSLSocketFactory was null"); } - HostnameVerifier verifier = this.mMemorizingTrustManager - .wrapHostnameVerifier(new StrictHostnameVerifier()); + HostnameVerifier verifier = this.mXmppConnectionService.getMemorizingTrustManager().wrapHostnameVerifier(new StrictHostnameVerifier()); if (socket == null) { throw new IOException("socket was null"); @@ -879,7 +874,7 @@ public class XmppConnection implements Runnable { } private String nextRandomId() { - return new BigInteger(50, mRandom).toString(32); + return new BigInteger(50, mXmppConnectionService.getRNG()).toString(32); } public void sendIqPacket(IqPacket packet, OnIqPacketReceived callback) { |