# HG changeset patch # User Carl Byington # Date 1400800274 25200 # Node ID e773d095261357e7bf364b9c6faaab3e7888567b # Parent 731e70088af05ae3e4637eb3e56fec4843fcb350 adding tn5250 files diff -r 731e70088af0 -r e773d0952613 src/org/tn5250j/framework/tn5250/Screen5250.java --- a/src/org/tn5250j/framework/tn5250/Screen5250.java Thu May 22 15:42:48 2014 -0700 +++ b/src/org/tn5250j/framework/tn5250/Screen5250.java Thu May 22 16:11:14 2014 -0700 @@ -498,8 +498,7 @@ while (planes.getWhichGUI(pos++) != BUTTON_RIGHT_EB) { eb.append(planes.getChar(pos)); } - org.tn5250j.tools.system.OperatingSystem.displayURL(eb - .toString()); + sessionVT.showURL(eb.toString()); // take out the log statement when we are sure it is // working log.info("Send to external Browser: " + eb.toString()); diff -r 731e70088af0 -r e773d0952613 src/org/tn5250j/framework/tn5250/tnvt.java --- a/src/org/tn5250j/framework/tn5250/tnvt.java Thu May 22 15:42:48 2014 -0700 +++ b/src/org/tn5250j/framework/tn5250/tnvt.java Thu May 22 16:11:14 2014 -0700 @@ -83,7 +83,6 @@ import com.five_ten_sg.connectbot.service.TerminalBridge; import com.five_ten_sg.connectbot.service.TerminalManager; -import org.tn5250j.Session5250; import org.tn5250j.TN5250jConstants; import org.tn5250j.encoding.CharMappings; import org.tn5250j.encoding.ICodePage; @@ -133,7 +132,7 @@ private int readType; private boolean enhanced = true; private boolean cursorOn = false; - private String session = ""; + private String hostname = ""; private int port = 23; private boolean connected = false; private boolean support132 = true; @@ -166,10 +165,11 @@ private final TN5250jLogger log = TN5250jLogFactory.getLogger(this.getClass()); /** - * @param session * @param screen52 - * @param type + * @param enhanced * @param support132 + * @param bridge + * @param manager */ public tnvt(Screen5250 screen52, boolean enhanced, boolean support132, TerminalBridge bridge, TerminalManager manager) { if (log.isInfoEnabled()) { @@ -203,9 +203,15 @@ baosrsp = new ByteArrayOutputStream(); } + public void showURL(String url) { + if (url.indexOf("://") < 0) url = "http://" + url; + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + manager.startActivity(intent); + } + public String getHostName() { - return session; + return hostname; } @@ -257,12 +263,12 @@ public final boolean connect() { - return connect(session, port); + return connect(hostname, port); } - public final boolean connect(String s, int port) { + public final boolean connect(String hostname, int port) { // We will now see if there are any bypass signon parameters to be // processed. The system properties override these parameters so @@ -283,8 +289,8 @@ try { - session = s; - this.port = port; + this.hostname = hostname; + this.port = port; try { screen52.getOIA().setInputInhibited(ScreenOIA.INPUTINHIBITED_SYSTEM_WAIT, @@ -297,7 +303,7 @@ //smk - For SSL compability SocketConnector sc = new SocketConnector(); if (sslType != null) sc.setSSLType(sslType); - sock = sc.createSocket(s, port, bridge, manager); + sock = sc.createSocket(hostname, port, bridge, manager); if (sock == null) { log.warn("I did not get a socket"); diff -r 731e70088af0 -r e773d0952613 src/org/tn5250j/framework/transport/SSL/X509CertificateTrustManager.java --- a/src/org/tn5250j/framework/transport/SSL/X509CertificateTrustManager.java Thu May 22 15:42:48 2014 -0700 +++ b/src/org/tn5250j/framework/transport/SSL/X509CertificateTrustManager.java Thu May 22 16:11:14 2014 -0700 @@ -29,14 +29,16 @@ import java.util.ArrayList; import java.util.Arrays; -import javax.swing.JOptionPane; +import com.five_ten_sg.connectbot.service.TerminalBridge; +import com.five_ten_sg.connectbot.service.TerminalManager; + /** * This class is used to trust certificates exchanged during an SSL socket * handshake. It allows the user to accept the certificate so that connections * can be made without requiring the server to have a certificate signed by a * CA (Verisign, Thawte, etc.). - * + * * @author Stephen M. Kennedy * @deprecated. no longer used. * @@ -45,9 +47,12 @@ KeyStore ks = null; TrustManager[] trustManagers; - //X509TrustManager trustManager = null; + TerminalBridge bridge = null; + TerminalManager manager = null; - public X509CertificateTrustManager(TrustManager[] managers, KeyStore keyStore) { + public X509CertificateTrustManager(TrustManager[] managers, KeyStore keyStore, TerminalBridge bridge, TerminalManager manager) { + this.bridge = bridge; + this.manager = manager; trustManagers = managers; ks = keyStore; } @@ -55,14 +60,14 @@ public void checkClientTrusted(X509Certificate[] chain, String type) throws CertificateException { throw new SecurityException("checkClientTrusted unsupported"); } - - + + /** * Checks the server certificate. If it isn't trusted by the trust manager * passed to the constructor, then the user will be prompted to accept the * certificate. */ - public void checkServerTrusted(X509Certificate[] chain, String type) + public void checkServerTrusted(X509Certificate[] chain, String type) throws CertificateException { try { for (int i=0; i