From 4995e128381bbf6954ae0ce1fb4ca26fb27e062e Mon Sep 17 00:00:00 2001 From: codybum Date: Wed, 29 May 2024 22:28:11 -0400 Subject: [PATCH] checking if global messaging works --- .../java/io/cresco/stunnel/SocketSender.java | 53 ++++++++++++------- 1 file changed, 33 insertions(+), 20 deletions(-) diff --git a/src/main/java/io/cresco/stunnel/SocketSender.java b/src/main/java/io/cresco/stunnel/SocketSender.java index d516c87..540e143 100644 --- a/src/main/java/io/cresco/stunnel/SocketSender.java +++ b/src/main/java/io/cresco/stunnel/SocketSender.java @@ -6,9 +6,7 @@ import io.cresco.library.utilities.CLogger; import javax.jms.*; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; +import java.io.*; import java.net.Socket; import java.util.Collections; import java.util.HashMap; @@ -101,7 +99,11 @@ public boolean closeClient(String clientId) { isClosed = true; } catch (Exception ex) { - ex.printStackTrace(); + logger.error("closeClient clientId: " + clientId + " error!"); + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + ex.printStackTrace(pw); + logger.error(sw.toString()); } return isClosed; @@ -295,23 +297,30 @@ public void close () { } private void connectionBroken() { - - mParent.close(); - //close remote - Map tunnelConfig = socketController.getTunnelConfig(sTunnelId); - MsgEvent request = plugin.getGlobalPluginMsgEvent(MsgEvent.Type.CONFIG, tunnelConfig.get("dst_region"), tunnelConfig.get("dst_agent"), tunnelConfig.get("dst_plugin")); - request.setParam("action", "closesrcclient"); - request.setParam("action_client_id", clientId); - MsgEvent response = plugin.sendRPC(request); - if(response.getParam("status") != null) { - int status = Integer.parseInt(response.getParam("status")); - if(status == 10) { - logger.info("(15) [dst] Src port confirmed closed."); + try { + mParent.close(); + //close remote + Map tunnelConfig = socketController.getTunnelConfig(sTunnelId); + MsgEvent request = plugin.getGlobalPluginMsgEvent(MsgEvent.Type.CONFIG, tunnelConfig.get("dst_region"), tunnelConfig.get("dst_agent"), tunnelConfig.get("dst_plugin")); + request.setParam("action", "closesrcclient"); + request.setParam("action_client_id", clientId); + MsgEvent response = plugin.sendRPC(request); + if (response.getParam("status") != null) { + int status = Integer.parseInt(response.getParam("status")); + if (status == 10) { + logger.info("(15) [dst] Src port confirmed closed."); + } else { + logger.error("Error in closing src port: " + response.getParams()); + } } else { - logger.error("Error in closing src port: " + response.getParams()); + logger.error("Missing status from response: " + response.getParams()); } - } else { - logger.error("Missing status from response: " + response.getParams()); + } catch (Exception ex) { + logger.error("connectionBroken: error!"); + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + ex.printStackTrace(pw); + logger.error(sw.toString()); } } @@ -356,7 +365,11 @@ public void run() { logger.error("IOException error: " + e.getMessage()); connectionBroken(); } catch (Exception ex) { - logger.error("SOME EXCEPTION: " + ex.getMessage()); + logger.error("run: " + ex.getMessage()); + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + ex.printStackTrace(pw); + logger.error(sw.toString()); connectionBroken(); }