Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Comminos <andrew@morlunk.com>2015-08-22 22:11:04 +0300
committerAndrew Comminos <andrew@morlunk.com>2015-08-22 22:11:04 +0300
commit7e95ca360e3111307cc6508d370c252cce154c2b (patch)
tree4d387e2078862fc659ebb21a9fc696963d289886
parent9d1d94ade72a80af75f75ab64e0e1e3cdbd9d482 (diff)
parentd87ea9d24f3d5485aa241939c32c25ca5cc2e4e6 (diff)
Merge pull request #13 from k3d3/master
Add SNI support for outgoing Mumble connections
-rw-r--r--src/main/java/com/morlunk/jumble/net/JumbleTCP.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/java/com/morlunk/jumble/net/JumbleTCP.java b/src/main/java/com/morlunk/jumble/net/JumbleTCP.java
index c603ff8..764b2af 100644
--- a/src/main/java/com/morlunk/jumble/net/JumbleTCP.java
+++ b/src/main/java/com/morlunk/jumble/net/JumbleTCP.java
@@ -34,6 +34,9 @@ import java.security.cert.X509Certificate;
import javax.net.ssl.SSLHandshakeException;
import javax.net.ssl.SSLSocket;
+import android.net.SSLCertificateSocketFactory;
+import android.os.Build;
+
/**
* Class to maintain and interface with the TCP connection to a Mumble server.
* Parses Mumble protobuf packets according to the Mumble protocol specification.
@@ -82,6 +85,11 @@ public class JumbleTCP extends JumbleNetworkThread {
else
mTCPSocket = mSocketFactory.createSocket(address, mPort);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { // SNI support requires at least API 17
+ SSLCertificateSocketFactory scsf = (SSLCertificateSocketFactory) SSLCertificateSocketFactory.getDefault(0);
+ scsf.setHostname(mTCPSocket, mHost);
+ }
+
mTCPSocket.setKeepAlive(true);
mTCPSocket.startHandshake();