com.mindbright.application
Class MindTermLite

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by java.applet.Applet
                  extended by com.mindbright.application.MindTermLite
All Implemented Interfaces:
MindTermApp, ProxyAuthenticator, SSH2Interactor, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Runnable, javax.accessibility.Accessible

public class MindTermLite
extends java.applet.Applet
implements SSH2Interactor, MindTermApp, ProxyAuthenticator, java.lang.Runnable

This is a more light-weight version of MindTerm. It has less UI and at startup it only shows a basic login window. All other functionality like port forwards and terminal windows are available through plugins (in the plugins menu).

In order to keep the jar-file smaller some functionality (terminal-window and proxy pass through) has been split out into separate jar-files which are loaded if needed. When looking for these classes the code first checks to see if they are already loaded otherwise it checks the jar-path (a ':'-separated list of directories) for the needed jar-files.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.applet.Applet
java.applet.Applet.AccessibleApplet
 
Nested classes/interfaces inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 RandomSeed randomSeed
           
 SecureRandomAndPad secureRandom
           
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
MindTermLite()
           
 
Method Summary
 void alert(java.lang.String message)
           
 boolean confirm(java.lang.String message, boolean defAnswer)
           
 void connect()
           
 java.awt.Image createImage(java.lang.String file)
           
 void disconnect()
           
 boolean fingerprintMatch(SSH2Signature serverHostKey)
           
 java.applet.AppletContext getAppletContext()
           
 java.lang.String getAppName()
           
 SSH2Connection getConnection()
           
 SSHConsoleRemote getConsoleRemote()
           
 java.lang.String getHost()
           
 SSH2Interactor getInteractor()
           
 java.awt.Frame getParentFrame()
           
 int getPort()
           
 java.util.Properties getProperties()
           
 java.lang.String getProperty(java.lang.String name)
           
 java.lang.String getProxyPassword(java.lang.String type, java.lang.String challenge)
           
 java.lang.String getProxyUsername(java.lang.String type, java.lang.String challenge)
           
 RandomSeed getRandomSeed()
           
 SSH2Transport getTransport()
           
 java.lang.String getUserName()
           
 void init()
           
 void initSeedGenerator()
           
 boolean isApplet()
           
 boolean isConnected()
           
static void main(java.lang.String[] argv)
           
 java.lang.String promptLine(java.lang.String prompt, boolean echo)
          Prompt for a single string.
 int promptList(java.lang.String name, java.lang.String instruction, java.lang.String[] choices)
          This function is only used by AppGate internal code so there is no need to actually implement it in any other code.
 java.lang.String[] promptMulti(java.lang.String[] prompts, boolean[] echos)
          Prompt for multiple strings.
 java.lang.String[] promptMultiFull(java.lang.String name, java.lang.String instruction, java.lang.String[] prompts, boolean[] echos)
          Prompt for multiple strings.
 java.io.ByteArrayOutputStream readResource(java.lang.String name)
           
 void run()
           
 void setProperty(java.lang.String name, java.lang.String value)
           
 void startMeUp()
           
 
Methods inherited from class java.applet.Applet
destroy, getAccessibleContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop
 
Methods inherited from class java.awt.Panel
addNotify
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

randomSeed

public RandomSeed randomSeed

secureRandom

public SecureRandomAndPad secureRandom
Constructor Detail

MindTermLite

public MindTermLite()
Method Detail

init

public void init()
Overrides:
init in class java.applet.Applet

main

public static void main(java.lang.String[] argv)

startMeUp

public void startMeUp()

run

public void run()
Specified by:
run in interface java.lang.Runnable

connect

public void connect()
             throws SSH2Exception,
                    java.io.IOException
Throws:
SSH2Exception
java.io.IOException

disconnect

public void disconnect()

initSeedGenerator

public void initSeedGenerator()

fingerprintMatch

public boolean fingerprintMatch(SSH2Signature serverHostKey)

readResource

public java.io.ByteArrayOutputStream readResource(java.lang.String name)

createImage

public java.awt.Image createImage(java.lang.String file)

promptLine

public java.lang.String promptLine(java.lang.String prompt,
                                   boolean echo)
                            throws SSH2UserCancelException
Description copied from interface: SSH2Interactor
Prompt for a single string.

Specified by:
promptLine in interface SSH2Interactor
Parameters:
prompt - The prompt string to show
echo - True if the text the user enters should be echoed.
Returns:
The text entered by the user.
Throws:
SSH2UserCancelException

promptMulti

public java.lang.String[] promptMulti(java.lang.String[] prompts,
                                      boolean[] echos)
                               throws SSH2UserCancelException
Description copied from interface: SSH2Interactor
Prompt for multiple strings. The expectation here is that the client will put up a dialog where the user sees multiple prompts and input fields.

Specified by:
promptMulti in interface SSH2Interactor
Parameters:
prompts - List of prompts to show
echos - List of boolean values which indicates if the text entered for the corresponding prompt should be echoed.
Returns:
An array of strings which contains on element for each prompt, in the same order. The elements should contain the text the user entered.
Throws:
SSH2UserCancelException

promptMultiFull

public java.lang.String[] promptMultiFull(java.lang.String name,
                                          java.lang.String instruction,
                                          java.lang.String[] prompts,
                                          boolean[] echos)
                                   throws SSH2UserCancelException
Description copied from interface: SSH2Interactor
Prompt for multiple strings. The expectation here is that the client will put up a dialog where the user sees multiple prompts and input fields. This version of the call includes more elements which should be shown in the dialog.

Specified by:
promptMultiFull in interface SSH2Interactor
Parameters:
name - Suggested title of the dialog
instruction - Instructions to show to user in the dialog
prompts - List of prompts to show
echos - List of boolean values which indicates if the text entered for the corresponding prompt should be echoed.
Returns:
An array of strings which contains on element for each prompt, in the same order. The elements should contain the text the user entered.
Throws:
SSH2UserCancelException

promptList

public int promptList(java.lang.String name,
                      java.lang.String instruction,
                      java.lang.String[] choices)
               throws SSH2UserCancelException
Description copied from interface: SSH2Interactor
This function is only used by AppGate internal code so there is no need to actually implement it in any other code.

It is used to let the user select one element in a list.

Specified by:
promptList in interface SSH2Interactor
Parameters:
name - Suggested title of dialog
instruction - Instructions to show to user
choices - Array of possible choices
Returns:
index of selected list item
Throws:
SSH2UserCancelException

getHost

public java.lang.String getHost()
Specified by:
getHost in interface MindTermApp

getPort

public int getPort()
Specified by:
getPort in interface MindTermApp

getProperties

public java.util.Properties getProperties()
Specified by:
getProperties in interface MindTermApp

getProperty

public java.lang.String getProperty(java.lang.String name)
Specified by:
getProperty in interface MindTermApp

setProperty

public void setProperty(java.lang.String name,
                        java.lang.String value)
Specified by:
setProperty in interface MindTermApp

getUserName

public java.lang.String getUserName()
Specified by:
getUserName in interface MindTermApp

getParentFrame

public java.awt.Frame getParentFrame()
Specified by:
getParentFrame in interface MindTermApp

getAppName

public java.lang.String getAppName()
Specified by:
getAppName in interface MindTermApp

getRandomSeed

public RandomSeed getRandomSeed()
Specified by:
getRandomSeed in interface MindTermApp

getInteractor

public SSH2Interactor getInteractor()
Specified by:
getInteractor in interface MindTermApp

alert

public void alert(java.lang.String message)
Specified by:
alert in interface MindTermApp

confirm

public boolean confirm(java.lang.String message,
                       boolean defAnswer)

isConnected

public boolean isConnected()
Specified by:
isConnected in interface MindTermApp

isApplet

public boolean isApplet()
Specified by:
isApplet in interface MindTermApp

getAppletContext

public java.applet.AppletContext getAppletContext()
Specified by:
getAppletContext in interface MindTermApp
Overrides:
getAppletContext in class java.applet.Applet

getTransport

public SSH2Transport getTransport()
Specified by:
getTransport in interface MindTermApp

getConnection

public SSH2Connection getConnection()
Specified by:
getConnection in interface MindTermApp

getConsoleRemote

public SSHConsoleRemote getConsoleRemote()
Specified by:
getConsoleRemote in interface MindTermApp

getProxyUsername

public java.lang.String getProxyUsername(java.lang.String type,
                                         java.lang.String challenge)
                                  throws java.io.IOException
Specified by:
getProxyUsername in interface ProxyAuthenticator
Throws:
java.io.IOException

getProxyPassword

public java.lang.String getProxyPassword(java.lang.String type,
                                         java.lang.String challenge)
                                  throws java.io.IOException
Specified by:
getProxyPassword in interface ProxyAuthenticator
Throws:
java.io.IOException