From bffc3494b70c6e903e6e66b1d08ccc527fc0f931 Mon Sep 17 00:00:00 2001 From: Jon Bartels Date: Thu, 14 Aug 2025 17:54:54 -0400 Subject: [PATCH] Remove SSLWarningPanel and NextGen ad A similar message was present in both a tooltip on hover and a popup panel on left-click. This commit removes the SSLWarningPanel and relies on the tooltip for messaging. The message has been changed to indicate a compatible TLS plugin was not detected without including a sales pitch. Additionally it now says that TLS security options and mTLS are not configurable through the interface rather than saying they are not supported. The icon for when the message is present has been changed from a lock with a red X to an information blue circle with an "i" to indicate this is not an error or security issue. Issue: https://github.com/OpenIntegrationEngine/engine/issues/156 Co-authored-by: Tony Germano Signed-off-by: Jon Bartels Signed-off-by: Tony Germano --- .../connect/connectors/http/HttpSender.java | 12 ++-- .../connectors/http/SSLWarningPanel.java | 63 ------------------- .../connectors/ws/SSLWarningPanel.java | 63 ------------------- .../connectors/ws/WebServiceSender.java | 12 ++-- 4 files changed, 10 insertions(+), 140 deletions(-) delete mode 100644 client/src/com/mirth/connect/connectors/http/SSLWarningPanel.java delete mode 100644 client/src/com/mirth/connect/connectors/ws/SSLWarningPanel.java diff --git a/client/src/com/mirth/connect/connectors/http/HttpSender.java b/client/src/com/mirth/connect/connectors/http/HttpSender.java index 40e04c2169..a049a81837 100644 --- a/client/src/com/mirth/connect/connectors/http/HttpSender.java +++ b/client/src/com/mirth/connect/connectors/http/HttpSender.java @@ -31,7 +31,6 @@ import javax.swing.BorderFactory; import javax.swing.ButtonGroup; -import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JScrollPane; @@ -74,9 +73,11 @@ public class HttpSender extends ConnectorSettingsPanel { - private static final ImageIcon ICON_LOCK_X = new ImageIcon(Frame.class.getResource("images/lock_x.png")); private static final Color COLOR_SSL_NOT_CONFIGURED = new Color(0xFFF099); - private static final String SSL_TOOL_TIP = "The default system certificate store will be used for this connection.
As a result, certain security options are not available and mutual
authentication (two-way authentication) is not supported."; + private static final String SSL_TOOL_TIP = """ + Compatible TLS plugin not detected. The java system trust store will be
+ used for this connection. TLS security options and mutual
+ authentication (mTLS) are not configurable through this interface."""; private final int NAME_COLUMN = 0; private final int VALUE_COLUMN = 1; @@ -85,7 +86,6 @@ public class HttpSender extends ConnectorSettingsPanel { private int propertiesLastIndex = -1; private int headerLastIndex = -1; private Frame parent; - private SSLWarningPanel sslWarningPanel; public HttpSender() { this.parent = PlatformUI.MIRTH_FRAME; @@ -114,8 +114,6 @@ public void keyReleased(KeyEvent evt) { } }); - sslWarningPanel = new SSLWarningPanel(); - contentTypeField.getDocument().addDocumentListener(new DocumentListener() { @Override public void insertUpdate(DocumentEvent e) { @@ -691,7 +689,7 @@ public ConnectorTypeDecoration getConnectorTypeDecoration() { } if (usingHttps) { - return new ConnectorTypeDecoration(Mode.DESTINATION, "(SSL Not Configured)", ICON_LOCK_X, SSL_TOOL_TIP, sslWarningPanel, COLOR_SSL_NOT_CONFIGURED); + return new ConnectorTypeDecoration(Mode.DESTINATION, "(TLS Not Configured)", UIConstants.ICON_INFORMATION, SSL_TOOL_TIP, null, COLOR_SSL_NOT_CONFIGURED); } else { return new ConnectorTypeDecoration(Mode.DESTINATION); } diff --git a/client/src/com/mirth/connect/connectors/http/SSLWarningPanel.java b/client/src/com/mirth/connect/connectors/http/SSLWarningPanel.java deleted file mode 100644 index 6f52416705..0000000000 --- a/client/src/com/mirth/connect/connectors/http/SSLWarningPanel.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) Mirth Corporation. All rights reserved. - * - * http://www.mirthcorp.com - * - * The software in this package is published under the terms of the MPL license a copy of which has - * been included with this distribution in the LICENSE.txt file. - */ - -package com.mirth.connect.connectors.http; - -import java.awt.Desktop; -import java.awt.Dimension; - -import javax.swing.JEditorPane; -import javax.swing.JPanel; -import javax.swing.event.HyperlinkEvent; -import javax.swing.event.HyperlinkEvent.EventType; -import javax.swing.event.HyperlinkListener; -import javax.swing.text.html.HTMLEditorKit; -import javax.swing.text.html.StyleSheet; - -import net.miginfocom.swing.MigLayout; - -import com.mirth.connect.client.ui.BareBonesBrowserLaunch; -import com.mirth.connect.client.ui.UIConstants; - -public class SSLWarningPanel extends JPanel implements HyperlinkListener { - - public SSLWarningPanel() { - super(new MigLayout("insets 8, novisualpadding, hidemode 3")); - setBackground(UIConstants.BACKGROUND_COLOR); - setPreferredSize(new Dimension(255, 215)); - setMaximumSize(new Dimension(255, 215)); - - JEditorPane editorPane = new JEditorPane("text/html", ""); - HTMLEditorKit editorKit = new HTMLEditorKit(); - StyleSheet styleSheet = editorKit.getStyleSheet(); - styleSheet.addRule(".ssl-warning-panel {font-family:\"Tahoma\";font-size:11;text-align:center}"); - editorPane.setEditorKit(editorKit); - editorPane.setDocument(editorKit.createDefaultDocument()); - editorPane.setBackground(getBackground()); - editorPane.setEditable(false); - editorPane.addHyperlinkListener(this); - editorPane.setText("Important Notice: The default system certificate store will be used for this connection. As a result, certain security options are not available and mutual authentication (two-way authentication) is not supported.

The SSL Manager extension for NextGen Connect provides advanced security and certificate management enhancements, including the ability to import certificates for use by source or destination connectors, as well as the ability to configure hostname verification and client authentication settings. For more information please contact NextGen Healthcare sales."); - add(editorPane, "grow"); - } - - @Override - public void hyperlinkUpdate(HyperlinkEvent evt) { - if (evt.getEventType() == EventType.ACTIVATED && Desktop.isDesktopSupported()) { - try { - if (Desktop.isDesktopSupported()) { - Desktop.getDesktop().browse(evt.getURL().toURI()); - } else { - BareBonesBrowserLaunch.openURL(evt.getURL().toString()); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - } -} diff --git a/client/src/com/mirth/connect/connectors/ws/SSLWarningPanel.java b/client/src/com/mirth/connect/connectors/ws/SSLWarningPanel.java deleted file mode 100644 index dbd1c51331..0000000000 --- a/client/src/com/mirth/connect/connectors/ws/SSLWarningPanel.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) Mirth Corporation. All rights reserved. - * - * http://www.mirthcorp.com - * - * The software in this package is published under the terms of the MPL license a copy of which has - * been included with this distribution in the LICENSE.txt file. - */ - -package com.mirth.connect.connectors.ws; - -import java.awt.Desktop; -import java.awt.Dimension; - -import javax.swing.JEditorPane; -import javax.swing.JPanel; -import javax.swing.event.HyperlinkEvent; -import javax.swing.event.HyperlinkEvent.EventType; -import javax.swing.event.HyperlinkListener; -import javax.swing.text.html.HTMLEditorKit; -import javax.swing.text.html.StyleSheet; - -import net.miginfocom.swing.MigLayout; - -import com.mirth.connect.client.ui.BareBonesBrowserLaunch; -import com.mirth.connect.client.ui.UIConstants; - -public class SSLWarningPanel extends JPanel implements HyperlinkListener { - - public SSLWarningPanel() { - super(new MigLayout("insets 8, novisualpadding, hidemode 3")); - setBackground(UIConstants.BACKGROUND_COLOR); - setPreferredSize(new Dimension(255, 215)); - setMaximumSize(new Dimension(255, 215)); - - JEditorPane editorPane = new JEditorPane("text/html", ""); - HTMLEditorKit editorKit = new HTMLEditorKit(); - StyleSheet styleSheet = editorKit.getStyleSheet(); - styleSheet.addRule(".ssl-warning-panel {font-family:\"Tahoma\";font-size:11;text-align:center}"); - editorPane.setEditorKit(editorKit); - editorPane.setDocument(editorKit.createDefaultDocument()); - editorPane.setBackground(getBackground()); - editorPane.setEditable(false); - editorPane.addHyperlinkListener(this); - editorPane.setText("Important Notice: The default system certificate store will be used for this connection. As a result, certain security options are not available and mutual authentication (two-way authentication) is not supported.

The SSL Manager extension for NextGen Connect provides advanced security and certificate management enhancements, including the ability to import certificates for use by source or destination connectors, as well as the ability to configure hostname verification and client authentication settings. For more information please contact NextGen Healthcare sales."); - add(editorPane, "grow"); - } - - @Override - public void hyperlinkUpdate(HyperlinkEvent evt) { - if (evt.getEventType() == EventType.ACTIVATED && Desktop.isDesktopSupported()) { - try { - if (Desktop.isDesktopSupported()) { - Desktop.getDesktop().browse(evt.getURL().toURI()); - } else { - BareBonesBrowserLaunch.openURL(evt.getURL().toString()); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - } -} diff --git a/client/src/com/mirth/connect/connectors/ws/WebServiceSender.java b/client/src/com/mirth/connect/connectors/ws/WebServiceSender.java index cf6d5f278e..6472927920 100644 --- a/client/src/com/mirth/connect/connectors/ws/WebServiceSender.java +++ b/client/src/com/mirth/connect/connectors/ws/WebServiceSender.java @@ -37,7 +37,6 @@ import javax.swing.BorderFactory; import javax.swing.ButtonGroup; import javax.swing.DefaultComboBoxModel; -import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JLabel; @@ -83,9 +82,11 @@ public class WebServiceSender extends ConnectorSettingsPanel { - protected static final ImageIcon ICON_LOCK_X = new ImageIcon(Frame.class.getResource("images/lock_x.png")); protected static final Color COLOR_SSL_NOT_CONFIGURED = new Color(0xFFF099); - protected static final String SSL_TOOL_TIP = "The default system certificate store will be used for this connection.
As a result, certain security options are not available and mutual
authentication (two-way authentication) is not supported."; + protected static final String SSL_TOOL_TIP = """ + Compatible TLS plugin not detected. The java system trust store will be
+ used for this connection. TLS security options and mutual
+ authentication (mTLS) are not configurable through this interface."""; private final int ID_COLUMN_NUMBER = 0; private final int CONTENT_COLUMN_NUMBER = 1; @@ -319,7 +320,7 @@ public void resetInvalidProperties() { @Override public ConnectorTypeDecoration getConnectorTypeDecoration() { if (isUsingHttps(wsdlUrlField.getText()) || isUsingHttps(String.valueOf(locationURIComboBox.getSelectedItem()))) { - return new ConnectorTypeDecoration(Mode.DESTINATION, "(SSL Not Configured)", ICON_LOCK_X, SSL_TOOL_TIP, sslWarningPanel, COLOR_SSL_NOT_CONFIGURED); + return new ConnectorTypeDecoration(Mode.DESTINATION, "(TLS Not Configured)", UIConstants.ICON_INFORMATION, SSL_TOOL_TIP, null, COLOR_SSL_NOT_CONFIGURED); } else { return new ConnectorTypeDecoration(Mode.DESTINATION); } @@ -963,8 +964,6 @@ public void actionPerformed(ActionEvent evt) { } }); - sslWarningPanel = new SSLWarningPanel(); - useAttachmentsTableRadio = new MirthRadioButton("Use Table"); useAttachmentsTableRadio.setBackground(getBackground()); useAttachmentsTableRadio.addActionListener(new ActionListener() { @@ -1505,5 +1504,4 @@ private void headersDeleteButtonActionPerformed(ActionEvent evt) { protected MirthTextField attachmentsVariableField; protected MirthRadioButton useAttachmentsTableRadio; protected MirthRadioButton useAttachmentsVariableRadio; - protected SSLWarningPanel sslWarningPanel; }