From 6301c821cfdf9e8b8dfd8d720e6a1277d11a7182 Mon Sep 17 00:00:00 2001
From: Sam Nelson <sam.nelson@domo.com>
Date: Thu, 7 May 2020 14:07:02 -0700
Subject: [PATCH 1/2] fixed ssl with proxy
---
.../websocket/WebSocketClientWrapper.java | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/pusher/client/connection/websocket/WebSocketClientWrapper.java b/src/main/java/com/pusher/client/connection/websocket/WebSocketClientWrapper.java
index cce5857a..04742f53 100644
--- a/src/main/java/com/pusher/client/connection/websocket/WebSocketClientWrapper.java
+++ b/src/main/java/com/pusher/client/connection/websocket/WebSocketClientWrapper.java
@@ -1,7 +1,9 @@
package com.pusher.client.connection.websocket;
import java.io.IOException;
+import java.net.InetSocketAddress;
import java.net.Proxy;
+import java.net.Socket;
import java.net.URI;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
@@ -10,6 +12,8 @@
import javax.net.ssl.SSLException;
import javax.net.ssl.SSLSocketFactory;
+import org.java_websocket.WebSocket;
+import org.java_websocket.WebSocketImpl;
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.handshake.ServerHandshake;
@@ -37,9 +41,15 @@ public WebSocketClientWrapper(final URI uri, final Proxy proxy, final WebSocketL
// certificates
final SSLSocketFactory factory = sslContext.getSocketFactory();// (SSLSocketFactory)
- // SSLSocketFactory.getDefault();
+ // SSLSocketFactory.getDefault();
- setSocket(factory.createSocket());
+ int port = uri.getPort();
+ if( port == -1 ) {
+ port = WebSocketImpl.DEFAULT_WSS_PORT;
+ }
+ Socket socket = new Socket(proxy);
+ socket.connect(new InetSocketAddress(uri.getHost(), port));
+ setSocket(factory.createSocket(socket, uri.getHost(), port, true));
}
catch (final IOException e) {
throw new SSLException(e);
From 208d29a0e7077a63e11111d9b3d64edc75ccc99d Mon Sep 17 00:00:00 2001
From: sonologico <1592315+sonologico@users.noreply.github.com>
Date: Fri, 21 Oct 2022 16:58:11 +0200
Subject: [PATCH 2/2] Update WebSocketClientWrapper.java
---
.../client/connection/websocket/WebSocketClientWrapper.java | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/main/java/com/pusher/client/connection/websocket/WebSocketClientWrapper.java b/src/main/java/com/pusher/client/connection/websocket/WebSocketClientWrapper.java
index 73d2fad5..42bf50ef 100644
--- a/src/main/java/com/pusher/client/connection/websocket/WebSocketClientWrapper.java
+++ b/src/main/java/com/pusher/client/connection/websocket/WebSocketClientWrapper.java
@@ -53,6 +53,8 @@ public WebSocketClientWrapper(final URI uri, final Proxy proxy, final WebSocketL
}
catch (final IOException e) {
throw new SSLException(e);
+ } catch (final NoSuchAlgorithmException e) {
+ throw new SSLException(e);
} catch (final KeyManagementException e) {
throw new SSLException(e);
}