--- a/doc/asmack-beem/beem_patches/10-custom-sslcontext.patch Sun Oct 28 14:26:54 2012 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-Index: org/jivesoftware/smack/XMPPConnection.java
-===================================================================
---- org/jivesoftware/smack/XMPPConnection.java (révision 11644)
-+++ org/jivesoftware/smack/XMPPConnection.java (copie de travail)
-@@ -758,14 +758,14 @@
- * @throws Exception if an exception occurs.
- */
- void proceedTLSReceived() throws Exception {
-- SSLContext context = SSLContext.getInstance("TLS");
-+ SSLContext context = this.config.getCustomSSLContext();
- KeyStore ks = null;
- KeyManager[] kms = null;
- PasswordCallback pcb = null;
-
- if(config.getCallbackHandler() == null) {
- ks = null;
-- } else {
-+ } else if (context == null) {
- //System.out.println("Keystore type: "+configuration.getKeystoreType());
- if(config.getKeystoreType().equals("NONE")) {
- ks = null;
-@@ -821,10 +821,12 @@
- }
-
- // Verify certificate presented by the server
-- context.init(kms,
-- new javax.net.ssl.TrustManager[]{new ServerTrustManager(getServiceName(), config)},
-- //new javax.net.ssl.TrustManager[]{new OpenTrustManager()},
-- new java.security.SecureRandom());
-+ if (context == null) {
-+ context = SSLContext.getInstance("TLS");
-+ context.init(kms,
-+ new javax.net.ssl.TrustManager[]{new ServerTrustManager(getServiceName(), config)},
-+ new java.security.SecureRandom());
-+ }
- Socket plain = socket;
- // Secure the plain connection
- socket = context.getSocketFactory().createSocket(plain,
-Index: org/jivesoftware/smack/ConnectionConfiguration.java
-===================================================================
---- org/jivesoftware/smack/ConnectionConfiguration.java (révision 11644)
-+++ org/jivesoftware/smack/ConnectionConfiguration.java (copie de travail)
-@@ -20,6 +20,7 @@
-
- package org.jivesoftware.smack;
-
-+import javax.net.ssl.SSLContext;
- import org.jivesoftware.smack.proxy.ProxyInfo;
- import org.jivesoftware.smack.util.DNSUtil;
-
-@@ -59,6 +60,7 @@
- private boolean selfSignedCertificateEnabled = false;
- private boolean expiredCertificatesCheckEnabled = false;
- private boolean notMatchingDomainCheckEnabled = false;
-+ private SSLContext customSSLContext;
-
- private boolean compressionEnabled = false;
-
-@@ -487,6 +489,25 @@
- }
-
- /**
-+ * Gets the custom SSLContext for SSL sockets. This is null by default.
-+ *
-+ * @return the SSLContext previously set with setCustomSSLContext() or null.
-+ */
-+ public SSLContext getCustomSSLContext() {
-+ return this.customSSLContext;
-+ }
-+
-+ /**
-+ * Sets a custom SSLContext for creating SSL sockets. A custom Context causes all other
-+ * SSL/TLS realted settings to be ignored.
-+ *
-+ * @param context the custom SSLContext for new sockets; null to reset default behaviour.
-+ */
-+ public void setCustomSSLContext(SSLContext context) {
-+ this.customSSLContext = context;
-+ }
-+
-+ /**
- * Returns true if the connection is going to use stream compression. Stream compression
- * will be requested after TLS was established (if TLS was enabled) and only if the server
- * offered stream compression. With stream compression network traffic can be reduced