Filewatcher File Search
FTP Search
  
Directory (beta)
  
Content Search (beta)
   
pkg://oldj2ssh-0.1.7-4jpp.src.rpm:606610/SSHTools-j2ssh-0.1.7-src.tar.gz  info  downloads

SSHTools-j2ssh-0.1.7/ 40755      0      0           0  7656741163  11255 5ustar     0      0 SSHTools-j2ssh-0.1.7/bin/ 40755      0      0           0  7656741163  12025 5ustar     0      0 SSHTools-j2ssh-0.1.7/build/ 40755      0      0           0  7656741163  12354 5ustar     0      0 SSHTools-j2ssh-0.1.7/build/j2ssh/ 40755      0      0           0  7656741163  13405 5ustar     0      0 SSHTools-j2ssh-0.1.7/conf/ 40755      0      0           0  7656741163  12202 5ustar     0      0 SSHTools-j2ssh-0.1.7/examples/ 40755      0      0           0  7656741163  13073 5ustar     0      0 SSHTools-j2ssh-0.1.7/lib/ 40755      0      0           0  7656741163  12023 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/ 40755      0      0           0  7656741163  12044 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/ 40755      0      0           0  7656741163  12622 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/ 40755      0      0           0  7656741163  14500 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/ant/ 40755      0      0           0  7656741163  15262 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/apps/ 40755      0      0           0  7656741163  15443 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/apps/mru/ 40755      0      0           0  7656741163  16246 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/ 40755      0      0           0  7656741163  15531 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/authentication/ 40755      0      0           0  7656741163  20550 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/configuration/ 40755      0      0           0  7656741163  20400 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/configuration/automate/ 40755      0      0           0  7656741163  22217 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/connection/ 40755      0      0           0  7656741163  17670 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/forwarding/ 40755      0      0           0  7656741163  17673 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/io/ 40755      0      0           0  7656741163  16140 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/keygen/ 40755      0      0           0  7656741163  17013 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/platform/ 40755      0      0           0  7656741163  17355 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/session/ 40755      0      0           0  7656741163  17214 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/sftp/ 40755      0      0           0  7656741163  16505 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/subsystem/ 40755      0      0           0  7656741163  17567 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/terminal/ 40755      0      0           0  7656741163  17344 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/transport/ 40755      0      0           0  7656741163  17565 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/transport/cipher/ 40755      0      0           0  7656741163  21037 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/transport/compression/ 40755      0      0           0  7656741163  22126 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/transport/hmac/ 40755      0      0           0  7656741163  20475 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/transport/kex/ 40755      0      0           0  7656741163  20354 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/transport/publickey/ 40755      0      0           0  7656741163  21554 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/transport/publickey/dsa/ 40755      0      0           0  7656741163  22323 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/transport/publickey/rsa/ 40755      0      0           0  7656741163  22341 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/ui/ 40755      0      0           0  7656741163  16146 5ustar     0      0 SSHTools-j2ssh-0.1.7/src/com/sshtools/j2ssh/util/ 40755      0      0           0  7656741163  16506 5ustar     0      0 SSHTools-j2ssh-0.1.7/bin/cpappend.bat100644      0      0          33  7600310532  14315 0ustar     0      0 set _LIBJARS=%_LIBJARS%;%1
SSHTools-j2ssh-0.1.7/bin/findjava.bat100644      0      0         372  7647473610  14355 0ustar     0      0 
rem Determining JAVA Path

if not "%JAVA_HOME%" == "" goto gotJavaHome
 
   rem JAVA_HOME not set, searching for java.exe

   set JAVA_CMD=%~$PATH:1

   goto complete

:gotJavaHome

set JAVA_CMD=%JAVA_HOME%\bin\java.exe

:complete

SSHTools-j2ssh-0.1.7/bin/ssh-keygen.bat100644      0      0        2155  7647473610  14671 0ustar     0      0 @echo off

rem  Lookup the location of java.exe
call findjava.bat java.exe

if not "%JAVA_CMD%" == "" goto gotJavaCmd

   echo You must set JAVA_HOME to point at your Java Development Kit installation
   echo or configure your PATH to include java.exe
   goto cleanup

:gotJavaCmd

if not "%SSHTOOLS_HOME%" == "" goto gotHome
set SSHTOOLS_HOME=.

if exist "%SSHTOOLS_HOME%\conf\sshtools.xml" goto okHome
set SSHTOOLS_HOME=..

:gotHome
if exist "%SSHTOOLS_HOME%\conf\sshtools.xml" goto okHome

echo "%SSHTOOLS_HOME%\conf" not found.

echo Unable to locate the SSHTools "conf" directory, check the value of SSHTOOLS_HOME.
goto cleanup

:okHome

set _LIBJARS=

for %%i in (%SSHTOOLS_HOME%\lib\*.jar) do call %SSHTOOLS_HOME%\bin\cpappend.bat %%i
for %%i in (%SSHTOOLS_HOME%\dist\lib\*.jar) do call %SSHTOOLS_HOME%\bin\cpappend.bat %%i
if not "%_LIBJARS%" == "" goto runapp

echo Unable to set CLASSPATH dynamically.

goto cleanUp

:runapp

call "%JAVA_CMD%" -classpath %_LIBJARS% -Dsshtools.home=%SSHTOOLS_HOME% com.sshtools.j2ssh.transport.publickey.SshKeyGenerator %*

:cleanUp
set _LIBJARS=SSHTools-j2ssh-0.1.7/bin/ssh-keygen.sh100644      0      0        5315  7656736462  14545 0ustar     0      0 #!/bin/sh
#
# Sshtools - Java SSH2 API
#
# Copyright (C) 2002 Lee David Painter.
#
# Written by: 2002 Lee David Painter <lee@sshtools.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public License
# as published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

# OS specific support.  $var _must_ be set to either true or false.
CYGWIN=false;
DARWIN=false;
case "`uname`" in
  CYGWIN*) CYGWIN=true ;;
  Darwin*) DARWIN=true
           if [ -z "$JAVA_HOME" ] ; then
             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home   
           fi
           ;;
esac

if [ -z "$SSHTOOLS_HOME" ] 
then SCRIPT="$0"
     BASENAME=`basename $0`
     CWD=`pwd`
     cd `dirname "$SCRIPT"`
     while [ -h "$PRG" ] 
     do
         LS=`ls -ld "$SCRIPT"`
         LINK=`expr "$LS" : '.*-> \(.*\)$'`
         if expr "$LINK" : '.*/.*' > /dev/null
         then SCRIPT="$LINK"
         else SCRIPT=`dirname "$SCRIPT"`"/$LINK"
         fi
     done
     SSHTOOLS_HOME=`dirname "$SCRIPT"`/..
     cd "$CWD"
     SSHTOOLS_HOME=`cd "$SSHTOOLS_HOME" && pwd`
fi

if [ $CYGWIN = true ]
then [ -n "$ANT_HOME" ] && SSHTOOLS_HOME=`cygpath --unix "$SSHTOOLS_HOME"`
     [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
     [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi

if [ -n "$JAVA_HOME"  ] 
then if [ -x "$JAVA_HOME/jre/sh/java" ] 
     then JAVACMD="$JAVA_HOME/jre/sh/java"
     else JAVACMD="$JAVA_HOME/bin/java"
     fi
else JAVACMD=java
fi
 
SSHTOOLS_CLASSPATH=
for i in ${SSHTOOLS_HOME}/classes ${SSHTOOLS_HOME}/dist/lib/*.jar "${SSHTOOLS_HOME}"/lib/*.jar
do
    if [ -z "$SSHTOOLS_CLASSPATH" ] 
    then SSHTOOLS_CLASSPATH="$i"
    else SSHTOOLS_CLASSPATH="$i":"$SSHTOOLS_CLASSPATH"
    fi
done

if [ "$CWGWIN" = "true" ]
then SSHTOOLS_HOME=`cygpath --path --windows "$ANT_HOME"`
     JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
     SSHTOOLS_CLASSPATH=`cygpath --path --windows "$SSHTOOLS_CLASSPATH"`
     CYGHOME=`cygpath --path --windows "$HOME"`
fi

"$JAVACMD" -classpath "$SSHTOOLS_CLASSPATH" -Dsshtools.home="${SSHTOOLS_HOME}" com.sshtools.j2ssh.transport.publickey.SshKeyGenerator $*

SSHTOOLS_HOME=""
SSHTOOLS_CLASSPATH=""
SSHTools-j2ssh-0.1.7/build/j2ssh/apps.properties100644      0      0         223  7655451554  16541 0ustar     0      0 # J2SSH Project version
apps.project.name=apps
apps.project.type=beta
apps.version.major=0
apps.version.minor=1
apps.version.build=7




SSHTools-j2ssh-0.1.7/build/j2ssh/j2ssh-build.xml100644      0      0       21451  7656462076  16400 0ustar     0      0 <?xml version="1.0" encoding="UTF-8"?>

<project name="sshtools" default="build" basedir="../..">


    <!-- Package build parameters -->
    <property name="build.j2ssh" value="${build.scripts}/j2ssh"/>

    <property file="${build.j2ssh}/j2ssh.properties"/>
    <property name="j2ssh.version.string" value="SSHTools-${j2ssh.project.name}-${j2ssh.version.major}.${j2ssh.version.minor}.${j2ssh.version.build}"/>

    <property file="${build.j2ssh}/apps.properties"/>
    <property name="apps.version.string" value="SSHTools-${apps.project.name}-${apps.version.major}.${apps.version.minor}.${apps.version.build}"/>



    <!-- Build the distribution files -->
    <target name="build">

       <!-- Make the root directories -->
       <mkdir dir="${build.dist.lib}"/>

       <!-- Build the J2SSH library file -->
       <ConditionalTasks name="Building J2SSH jar file" files="${build.j2ssh}/j2ssh.properties"
                                    dirs="src/com/sshtools/j2ssh,src/com/sshtools/ant">
         <jar jarfile="${build.dist.lib}/${j2ssh.version.string}.jar" basedir="${build.dist.classes}">
           <include name="com/sshtools/j2ssh/**/*.class"/>
           <include name="com/sshtools/j2ssh/**/*.png"/>
           <include name="com/sshtools/j2ssh/**/*.gif"/>
           <include name="com/sshtools/ant/**/*.class"/>
         </jar>
       </ConditionalTasks>

       <!-- Build the SshTools Apps file -->
       <ConditionalTasks name="Building SSHTools Apps jar file" files="${build.j2ssh}/apps.properties"
                            dirs="src/com/sshtools/apps">
         <jar jarfile="${build.dist.lib}/${apps.version.string}.jar" basedir="${build.dist.classes}">
           <include name="com/sshtools/apps/**/*.class"/>
           <include name="com/sshtools/apps/**/*.png"/>
           <include name="com/sshtools/apps/**/*.gif"/>
         </jar>
       </ConditionalTasks>

    </target>

    <!-- Format the source code -->
    <target name="format">
        <taskdef name="jalopy"
            classname="de.hunsicker.jalopy.plugin.ant.AntPlugin">
          <classpath>
             <fileset dir="${jalopy.home}/lib">
                <include name="*.jar" />
             </fileset>
          </classpath>
       </taskdef>

       <echo message="Formatting J2SSH source files"/>

       <jalopy convention="${build.j2ssh}/j2ssh-convention.xml" classpathref="project.class.path">
         <fileset dir="${build.src}/com/sshtools/j2ssh">
              <include name="**/*.java"/>
              <exclude name="terminal/*.java"/>
         </fileset>
         <fileset dir="${build.src}/com/sshtools/ant">
              <include name="**/*.java"/>
         </fileset>
       </jalopy>

       <echo message="Formatting Sshtools apps source files"/>

       <jalopy convention="${build.j2ssh}/apps-convention.xml" classpathref="project.class.path">
         <fileset dir="${build.src}/com/sshtools/apps">
              <include name="**/*.java"/>
         </fileset>
       </jalopy>


    </target>


  <!-- Build all the projects release files -->
  <target name="release" depends="build">

        <!-- Build the J2SSH release files -->
    <ConditionalTasks name="Building J2SSH release files" files="${build.j2ssh}/j2ssh.properties"
                                                      dirs="src/com/sshtools/j2ssh">
        <mkdir dir="${build.release}/${j2ssh.version.string}"/>
        <echo message="Building J2SSH binary distribution zip file"/>

         <!-- Create the j2ssh binary distribution zip file -->
         <zip zipfile="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-bin.zip">
           <zipfileset dir="${build.bin}" includes="findjava.bat,ssh-keygen.bat,ssh-keygen.sh,cpappend.bat" prefix="${j2ssh.version.string}/bin"/>
           <zipfileset dir="${build.conf}" includes="sshtools.xml,server.xml,hosts.xml,platform.xml,authorization.xml,automation.xml" prefix="${j2ssh.version.string}/conf"/>
           <zipfileset dir="${build.dist.lib}" includes="${bc-ciphers.version.string}.jar" prefix="${j2ssh.version.string}/lib/ext"/>
           <zipfileset dir="." includes="${build.j2ssh}/LICENSE.TXT" fullpath="${j2ssh.version.string}/LICENSE.TXT"/>
           <zipfileset dir="${build.examples}" includes="*.java" prefix="${j2ssh.version.string}/examples"/>
           <zipfileset dir="." includes="${build.j2ssh}/INSTALL.TXT" fullpath="${j2ssh.version.string}/INSTALL.TXT"/>
           <zipfileset dir="." includes="${build.j2ssh}/j2ssh.properties" prefix="${j2ssh.version.string}"/>
           <zipfileset dir="${build.dist.lib}" includes="${j2ssh.version.string}.jar" prefix="${j2ssh.version.string}/dist/lib"/>
           <zipfileset dir="${build.dependency}" includes="log4j-1.2.6.jar,log4j.txt" prefix="${j2ssh.version.string}/lib"/>
        </zip>

        <echo message="Building J2SSH binary distribution gzip file"/>
        <!-- To create the j2ssh binary distribution gzip file, unzip and tar the contents of the zip -->
        <unzip src="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-bin.zip"
                dest="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-bin"/>
        <tar tarfile="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-bin.tar"
              basedir="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-bin"/>
        <gzip zipfile="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-bin.tar.gz"
                src="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-bin.tar"/>


      <echo message="Building J2SSH source distribution zip file"/>
      <!-- Create the binary distribution zip file -->
       <zip zipfile="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-src.zip">
         <zipfileset dir="${build.bin}" includes="findjava.bat,ssh-keygen.bat,ssh-keygen.sh,cpappend.bat" prefix="${j2ssh.version.string}/bin"/>
         <zipfileset dir="${build.src}/com/sshtools/j2ssh" includes="**/*.java" prefix="${j2ssh.version.string}/src/com/sshtools/j2ssh"/>
         <zipfileset dir="${build.src}/com/sshtools/j2ssh" includes="**/*.png" prefix="${j2ssh.version.string}/src/com/sshtools/j2ssh"/>
         <zipfileset dir="${build.src}/com/sshtools/j2ssh" includes="**/*.gif" prefix="${j2ssh.version.string}/src/com/sshtools/j2ssh"/>
         <zipfileset dir="${build.src}/com/sshtools/apps" includes="**/*.java" prefix="${j2ssh.version.string}/src/com/sshtools/apps"/>
         <zipfileset dir="${build.src}/com/sshtools/apps" includes="**/*.png" prefix="${j2ssh.version.string}/src/com/sshtools/apps"/>
         <zipfileset dir="${build.src}/com/sshtools/apps" includes="**/*.gif" prefix="${j2ssh.version.string}/src/com/sshtools/apps"/>
         <zipfileset dir="${build.src}/com/sshtools/ant" includes="**/*.java" prefix="${j2ssh.version.string}/src/com/sshtools/ant"/>
         <zipfileset dir="${build.conf}" includes="sshtools.xml,server.xml,hosts.xml,platform.xml,authorization.xml,automation.xml" prefix="${j2ssh.version.string}/conf"/>
         <zipfileset dir="." includes="${build.j2ssh}/LICENSE.TXT" fullpath="${j2ssh.version.string}/LICENSE.TXT"/>
         <zipfileset dir="${build.examples}" includes="*.java" prefix="${j2ssh.version.string}/examples"/>
         <zipfileset dir="." includes="${build.j2ssh}INSTALL.TXT" prefix="${j2ssh.version.string}"/>
         <zipfileset dir="." includes="build.xml,build.txt,build.properties" prefix="${j2ssh.version.string}"/>
         <zipfileset dir="${build.j2ssh}" includes="j2ssh-build.xml,j2ssh.properties,apps.properties" prefix="${j2ssh.version.string}/build/j2ssh"/>
         <zipfileset dir="${build.dependency}" includes="log4j-1.2.6.jar,log4j.txt" prefix="${j2ssh.version.string}/lib"/>
       </zip>

      <echo message="Building J2SSH source distribution gzip file"/>
      <!-- To create the source distribution gzip file, unzip and tar the contents of the zip -->
      <unzip src="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-src.zip"
              dest="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-src"/>
      <tar tarfile="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-src.tar"
            basedir="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-src"/>
      <gzip zipfile="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-src.tar.gz"
              src="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-src.tar"/>


        <!-- Clean up the temp files and dir -->
        <delete file="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-bin.tar"/>
        <delete dir="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-bin"/>
        <delete file="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-src.tar"/>
        <delete dir="${build.release}/${j2ssh.version.string}/${j2ssh.version.string}-src"/>
     </ConditionalTasks>

  </target>

</project>


SSHTools-j2ssh-0.1.7/build/j2ssh/j2ssh.properties100644      0      0         227  7656701620  16624 0ustar     0      0 # J2SSH Project version
j2ssh.project.name=j2ssh
j2ssh.project.type=beta
j2ssh.version.major=0
j2ssh.version.minor=1
j2ssh.version.build=7



SSHTools-j2ssh-0.1.7/build.properties100644      0      0         331  7656455672  14553 0ustar     0      0 #SSHTools build file properties
jalopy.home=c:/jalopy-ant
genjar.jarfile=c:/Development/sshtools/code/lib/GenJar.jar
docbook.dtd.home=c:/docbook-xml
docbook.xsl.home=c:/docbook-xsl-1.60.1
fop.home=c:/fop-0.20.5rcSSHTools-j2ssh-0.1.7/build.txt100644      0      0        3067  7656431320  13207 0ustar     0      0 ---------------------------------------------------
Building SSHTools Using ANT
---------------------------------------------------

The SSHTools source distributions relies on ANT as its build tool. ANT is available from "http://jakarta.apache.org/ant/". 

ANT requires a build file called build.xml. The SSHTools build.xml has been developed
to be modular and will attempt to compile and build SSHTools subprojects ONLY if the relevant 
source package is accessible within the source tree. (This is achieved through our own ConditionalTask ant task)

Using a command prompt, change to your $INSTALL_DIR and issue the following command:

> ant

This should execute the ANT script build.xml and you should see the log output begin to firstly compile the source, and then building the $INSTALL_DIR/dist/lib/sshtools-j2ssh-VERSION.jar.


The following targets are useful

compile -  Compiles all the source

build   -  Builds all jar files possible from the source tree


----------------------------------------------------
Building SSHTools without ANT
----------------------------------------------------

If you decide you do not want to build using the ANT build tool and would rather
compile the source in your own development environment, simply add all the 
dependencies found in $INSTALL_DIR/lib to your classpath, and remove the $INSTALL_DIR/src/com/sshtools/ant
directory, as this has a dependency on the ANT tool which is not shipped as part of the distribution.

You can then compile and build the source in any way you feel benefits your project.SSHTools-j2ssh-0.1.7/build.xml100644      0      0       17756  7656704156  13234 0ustar     0      0 <?xml version="1.0" encoding="UTF-8"?>

<project name="sshtools" default="build" basedir=".">

    <!-- Set global properties for this build -->
    <property name="build.examples" value="./examples"/>
    <property name="build.dist" value="./dist"/>
    <property name="build.bin" value="./bin"/>
    <property name="build.conf" value="./conf"/>
    <property name="build.release" value="./release"/>
    <property name="build.dist.classes" value="${build.dist}/classes"/>
    <property name="build.dist.lib" value="${build.dist}/lib"/>
    <property name="build.dependency" value="./lib"/>
    <property name="build.src" value="./src"/>
    <property name="build.doc" value="./docs"/>
    <property name="build.docbook" value="./drafts"/>
    <property name="build.dist.docs" value="./release/userguides"/>
    <property name="build.cert" value="./certificate"/>
    <property name="build.scripts" value="./build"/>


    <!-- Global build parameters -->
    <property file="build.properties"/>
    <property file="${user.home}/sshtools-build.properties"/>


    <!-- Set this to 'yes' if you wish the classes
        to be compiled with debug information -->
    <property name="build.debugInformation" value="off"/>

    <!-- Build the project classpath -->
    <path id="project.class.path">
      <pathelement path="${java.classpath}"/>
      <fileset dir="${build.dependency}">
        <include name="*.jar"/>
      </fileset>
      <pathelement path="${build.dist.classes}/"/>
    </path>


   <target name="compile" depends="clean">

       <echo message="Creating directories"/>

       <!-- Create the output directory -->
       <mkdir dir="${build.dist}"/>
       <mkdir dir="${build.dist.classes}"/>

       <!-- Copy the projects resources to the classpath -->
       <echo message="Copying resource to classpath"/>
       <copy todir="${build.dist.classes}" >
          <fileset dir="${build.src}" >
             <include name="**/*.png"/>
             <include name="**/*.gif"/>
          </fileset>
       </copy>

       <!-- Compile the source -->
       <javac srcdir="${build.src}" debug="${build.debugInformation}" destdir="${build.dist.classes}" includes="**/*.java">
	  <classpath refid="project.class.path"/>
       </javac>

       <!-- Our task to only build jars and releases if the source exists -->
       <taskdef name="ConditionalTasks" classpath="${build.dist.classes}"
            classname="com.sshtools.ant.ConditionalTasks"/>

    </target>

    <target name="build" depends="compile">
       <ConditionalTasks name="Building J2SSH" files="${build.scripts}/j2ssh/j2ssh-build.xml">
          <ant antfile="${build.scripts}/j2ssh/j2ssh-build.xml"
               target="build"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>

       <ConditionalTasks name="Building SSHVnc" files="${build.scripts}/sshvnc/sshvnc-build.xml">
          <ant antfile="${build.scripts}/sshvnc/sshvnc-build.xml"
               target="build"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>

       <ConditionalTasks name="Building ShiFT" files="${build.scripts}/shift/shift-build.xml">
          <ant antfile="${build.scripts}/shift/shift-build.xml"
               target="build"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>

       <ConditionalTasks name="Building SSHTerm" files="${build.scripts}/sshterm/sshterm-build.xml">
          <ant antfile="${build.scripts}/sshterm/sshterm-build.xml"
               target="build"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>

       <ConditionalTasks name="Building SSHTerm Applet" files="${build.scripts}/sshterm-applet/sshterm-applet-build.xml">
          <ant antfile="${build.scripts}/sshterm-applet/sshterm-applet-build.xml"
               target="build"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>

       <ConditionalTasks name="Building SSHVnc Applet" files="${build.scripts}/sshvnc-applet/sshvnc-applet-build.xml">
          <ant antfile="${build.scripts}/sshvnc-applet/sshvnc-applet-build.xml"
               target="build"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>

       <ConditionalTasks name="Building J2SSH Extensions" files="${build.scripts}/j2ssh-ext/j2ssh-ext-build.xml">
          <ant antfile="${build.scripts}/j2ssh-ext/j2ssh-ext-build.xml"
               target="build"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>

       <ConditionalTasks name="Building SSHDaemon Win32" files="${build.scripts}/sshdaemon-win32/sshdaemon-win32-build.xml">
          <ant antfile="${build.scripts}/sshdaemon-win32/sshdaemon-win32-build.xml"
               target="build"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>
    </target>

   <target name="release" depends="compile">

       <mkdir dir="${build.release}"/>

       <ConditionalTasks name="Releasing J2SSH" files="${build.scripts}/j2ssh/j2ssh-build.xml">
          <ant antfile="${build.scripts}/j2ssh/j2ssh-build.xml"
               target="release"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>

       <ConditionalTasks name="Releasing SSHVnc" files="${build.scripts}/sshvnc/sshvnc-build.xml">
          <ant antfile="${build.scripts}/sshvnc/sshvnc-build.xml"
               target="release"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>

       <ConditionalTasks name="Releasing ShiFT" files="${build.scripts}/shift/shift-build.xml">
          <ant antfile="${build.scripts}/shift/shift-build.xml"
               target="release"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>

       <ConditionalTasks name="Releasing SSHTerm" files="${build.scripts}/sshterm/sshterm-build.xml">
          <ant antfile="${build.scripts}/sshterm/sshterm-build.xml"
               target="release"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>

       <ConditionalTasks name="Releasing SSHTerm Applet" files="${build.scripts}/sshterm-applet/sshterm-applet-build.xml">
          <ant antfile="${build.scripts}/sshterm-applet/sshterm-applet-build.xml"
               target="release"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>

       <ConditionalTasks name="Releasing SSHVnc Applet" files="${build.scripts}/sshvnc-applet/sshvnc-applet-build.xml">
          <ant antfile="${build.scripts}/sshvnc-applet/sshvnc-applet-build.xml"
               target="release"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>

       <ConditionalTasks name="Releasing J2SSH Extensions" files="${build.scripts}/j2ssh-ext/j2ssh-ext-build.xml">
          <ant antfile="${build.scripts}/j2ssh-ext/j2ssh-ext-build.xml"
               target="release"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>

       <ConditionalTasks name="Generating documentation" files="${build.scripts}/guide/guide-build.xml">
          <ant antfile="${build.scripts}/guide/guide-build.xml"
               target="userguide"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>

       <ConditionalTasks name="Releasing SSHDaemon Win32" files="${build.scripts}/sshdaemon-win32/sshdaemon-win32-build.xml">
          <ant antfile="${build.scripts}/sshdaemon-win32/sshdaemon-win32-build.xml"
               target="release"
               inheritAll="true"
               inheritRefs="true"/>
       </ConditionalTasks>

   </target>



  <!-- Clean up all the generated files -->
  <target name="clean" >
    <!-- delete the classpath -->
    <delete dir="${build.dist.classes}"/>
    <delete dir="${build.dist.lib}"/>
    <delete dir="${build.dist}"/>
    <delete dir="${build.release}"/>
  </target>

</project>


SSHTools-j2ssh-0.1.7/conf/authorization.xml100644      0      0         310  7613604550  15662 0ustar     0      0 <?xml version="1.0" encoding="UTF-8"?>

<!-- Sshtools User Authorization File -->
<AuthorizedKeys>
  <!-- Enter authorized public key elements here -->
  <!--<Key>dsa.pub</Key> -->

</AuthorizedKeys>
SSHTools-j2ssh-0.1.7/conf/automation.xml100644      0      0        2201  7644274540  15171 0ustar     0      0 <?xml version="1.0" encoding="UTF-8"?>

<!-- SSHTools automation file, defines mappings for automated configuration -->
<Automation>
    <RemoteIdentification defaultName="OpenSSH">
       <Rule startsWith="OpenSSH"/>
       <Rule startsWith="OpenSSH" contains="3.4" name="OpenSSH 3.4" priority="1"/>
       <AuthorizedKeysFormat implementationClass="com.sshtools.j2ssh.configuration.automate.OpenSSHAuthorizedKeysFormat"
                             defaultPath=".ssh/authorized_keys"/>
    </RemoteIdentification>

    <RemoteIdentification defaultName="SSHTools">
       <Rule startsWith="http://www.sshtools.com"/>
       <AuthorizedKeysFormat implementationClass="com.sshtools.j2ssh.configuration.automate.SshtoolsAuthorizedKeysFormat"
                             defaultPath=".ssh2/authorization.xml"/>
    </RemoteIdentification>

    <RemoteIdentification defaultName="SSH2">
       <Rule contains="SSH Secure Shell"/>
       <AuthorizedKeysFormat implementationClass="com.sshtools.j2ssh.configuration.automate.SSH2AuthorizedKeysFormat"
                             defaultPath=".ssh2/authorization"/>
    </RemoteIdentification>

</Automation>SSHTools-j2ssh-0.1.7/conf/hosts.xml100644      0      0         512  7655437732  14142 0ustar     0      0 <?xml version="1.0" encoding="UTF-8"?>
<HostAuthorizations>
<!-- Host Authorizations file, used by the abstract class HostKeyVerification to verify the servers host key -->   
   <!-- Allow the following hosts access if they provide the correct public key -->
   <!-- Deny the following hosts access -->
</HostAuthorizations>SSHTools-j2ssh-0.1.7/conf/platform.xml100644      0      0        1432  7647537714  14652 0ustar     0      0 <?xml version="1.0" encoding="UTF-8"?>

<!-- 
Platform configuration file - Determines the behaviour of platform specific services
-->

<PlatformConfiguration>

   <!-- The process provider for executing and redirecting a process -->
   <NativeProcessProvider></NativeProcessProvider>

   <!-- The authentication provider for authenticating users and obtaining user information -->
   <NativeAuthenticationProvider></NativeAuthenticationProvider>

   <!-- The file system provider for SFTP -->
   <NativeFileSystemProvider></NativeFileSystemProvider>

   <!-- Native settings which may be used by the process or authentication provider -->

   <!-- Add native settings here -->
   <!-- <NativeSetting Name="AuthenticateOnDomain" Value="."/> -->

</PlatformConfiguration>
SSHTools-j2ssh-0.1.7/conf/server.xml100644      0      0        4042  7647537626  14336 0ustar     0      0 <?xml version="1.0" encoding="UTF-8"?>

<!-- 
Server configuration file - If filenames are not absolute they are assummed to be in the same directory as this configuration file.
-->

<ServerConfiguration>

   <!-- The available host keys for server authentication -->
   <ServerHostKey PrivateKeyFile="server_host_key"/>
  
  <!-- Add any number of subsystem elements here --> 
  <Subsystem Name="sftp" Type="class" Provider="com.sshtools.j2ssh.sftp.SftpSubsystemServer"/> 
  
  <!-- Display the following authentication banner before authentication -->
  <AuthenticationBanner></AuthenticationBanner>

  <!-- The maximum number of connected sessions available -->
  <MaxConnections>10</MaxConnections>

  <!-- The maxmimun number of authentication attempts -->
  <MaxAuthentications>3</MaxAuthentications>

  <!-- Bind to the following address to listen for connections -->
  <ListenAddress>0.0.0.0</ListenAddress>

  <!-- The port to listen to -->
  <Port>22</Port>

  <!-- Listen on the following port (on localhost) for server commands such as stop -->
  <CommandPort>10001</CommandPort>

  <!-- Specify the executable that provides the default shell -->
  <TerminalProvider>c:\winnt\system32\cmd.exe /Q</TerminalProvider>

  <!-- Specify an number of allowed authentications -->
  <AllowedAuthentication>password</AllowedAuthentication>
  <AllowedAuthentication>publickey</AllowedAuthentication>
  <AllowedAuthentication>keyboard-interactive</AllowedAuthentication>

  <!-- Specify which of the allowed authentications are required -->
  <!-- <RequiredAuthentication>publickey</RequiredAuthentication> -->
  
  <!-- The users authorizations file -->
  <AuthorizationFile>authorization.xml</AuthorizationFile>

  <!-- The users configuration directory where files such as AuthorizationFile are found. 
	For users home directory specify %D
	For users name specify %U                                                                               -->
  <UserConfigDirectory>%D\.ssh2</UserConfigDirectory>

</ServerConfiguration>
SSHTools-j2ssh-0.1.7/conf/sshtools.xml100644      0      0        6144  7652501624  14674 0ustar     0      0 <?xml version="1.0" encoding="UTF-8"?>
<!-- The Java SSH API Configuration file -->

<SshAPIConfiguration>
  
  <!-- The Cipher configuration, add or overide default cipher implementations -->
  <CipherConfiguration>
    
     <ExtensionAlgorithm>
        <AlgorithmName>aes128-cbc</AlgorithmName>
        <ImplementationClass>com.sshtools.ext.bouncycastle.cipher.AES128Cbc</ImplementationClass>
     </ExtensionAlgorithm>
    
    <ExtensionAlgorithm>
       <AlgorithmName>aes192-cbc</AlgorithmName>
       <ImplementationClass>com.sshtools.ext.bouncycastle.cipher.AES192Cbc</ImplementationClass>
    </ExtensionAlgorithm>

    <ExtensionAlgorithm>
       <AlgorithmName>aes256-cbc</AlgorithmName>
       <ImplementationClass>com.sshtools.ext.bouncycastle.cipher.AES256Cbc</ImplementationClass>
    </ExtensionAlgorithm>
    <ExtensionAlgorithm>
       <AlgorithmName>twofish128-cbc</AlgorithmName>
       <ImplementationClass>com.sshtools.ext.bouncycastle.cipher.Twofish128Cbc</ImplementationClass>
    </ExtensionAlgorithm>
    <ExtensionAlgorithm>
       <AlgorithmName>twofish192-cbc</AlgorithmName>
       <ImplementationClass>com.sshtools.ext.bouncycastle.cipher.Twofish192Cbc</ImplementationClass>
    </ExtensionAlgorithm>
    
    <ExtensionAlgorithm>
       <AlgorithmName>twofish-cbc</AlgorithmName>
       <ImplementationClass>com.sshtools.ext.bouncycastle.cipher.Twofish256Cbc</ImplementationClass>
    </ExtensionAlgorithm>
    <ExtensionAlgorithm>
       <AlgorithmName>twofish256-cbc</AlgorithmName>
       <ImplementationClass>com.sshtools.ext.bouncycastle.cipher.Twofish256Cbc</ImplementationClass>
    </ExtensionAlgorithm>
    <ExtensionAlgorithm>
       <AlgorithmName>cast128-cbc</AlgorithmName>
       <ImplementationClass>com.sshtools.ext.bouncycastle.cipher.CAST128Cbc</ImplementationClass>
    </ExtensionAlgorithm>
  
    <DefaultAlgorithm>blowfish-cbc</DefaultAlgorithm>
  </CipherConfiguration>

  <!-- The Message Authentication Code configuration, add or overide default mac implementations -->
  <MacConfiguration>
    <DefaultAlgorithm>hmac-md5</DefaultAlgorithm>
  </MacConfiguration>

  <!-- The Compression configuration, add or overide default compression implementations -->
  <CompressionConfiguration>
    <DefaultAlgorithm>none</DefaultAlgorithm>
  </CompressionConfiguration>

  <!-- The Public Key configuration, add or overide default public key implementations -->
  <PublicKeyConfiguration>
   <DefaultAlgorithm>ssh-dss</DefaultAlgorithm>
   
   <DefaultPublicFormat>SECSH-PublicKey-Base64Encoded</DefaultPublicFormat>
   <DefaultPrivateFormat>SSHTools-PrivateKey-Base64Encoded</DefaultPrivateFormat>

  </PublicKeyConfiguration>

  <!-- The Authentication configuration, add or overide default authentication implementations  -->
  <AuthenticationConfiguration>
     
  </AuthenticationConfiguration>

  <!-- The Key Exchange configuration, add or overide default Key Exchange implementations -->
  <KeyExchangeConfiguration>
    <DefaultAlgorithm>diffie-hellman-group1-sha1</DefaultAlgorithm>
  </KeyExchangeConfiguration>
</SshAPIConfiguration>
SSHTools-j2ssh-0.1.7/examples/KBIConnect.java100644      0      0       11603  7653250532  15763 0ustar     0      0 /*
 * Sshtools - Java SSH2 API
 *
 * Copyright (C) 2002 Lee David Painter.
 *
 * Written by: 2002 Lee David Painter <lee@sshtools.com>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public License
 * as published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.

 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.RollingFileAppender;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;

import com.sshtools.j2ssh.io.IOStreamConnector;
import com.sshtools.j2ssh.io.IOStreamConnectorState;

import com.sshtools.j2ssh.SshClient;
import com.sshtools.j2ssh.authentication.KBIAuthenticationClient;
import com.sshtools.j2ssh.authentication.KBIPrompt;
import com.sshtools.j2ssh.authentication.KBIRequestHandler;
import com.sshtools.j2ssh.authentication.AuthenticationProtocolState;
import com.sshtools.j2ssh.session.SessionChannelClient;

import com.sshtools.j2ssh.configuration.SshConnectionProperties;

import com.sshtools.j2ssh.transport.ConsoleHostKeyVerification;

import com.sshtools.j2ssh.configuration.ConfigurationLoader;
import java.io.*;

/**
 * Demonstrates a simple password connection to an SSH server.
 *
 * @author <A HREF="mailto:lee@sshtools.com">Lee David Painter</A>
 * @version $Id: KBIConnect.java,v 1.2 2003/04/28 16:05:46 martianx Exp $
 *
 * @created 20 December 2002
 */
public class KBIConnect {

  private static BufferedReader reader =
                new BufferedReader(new InputStreamReader(System.in));
    /**
     * The main program for the PasswordConnect class
     *
     * @param args The command line arguments
     */
    public static void main(String args[]) {
        try {
            //System.setProperty("sshtools.logfile", "ssh.log");
            ConfigurationLoader.initialize(false);


            System.out.print("Connect to host? ");

            String hostname = reader.readLine();

            // Make a client connection
            SshClient ssh = new SshClient();
            SshConnectionProperties properties = new SshConnectionProperties();
            properties.setHost(hostname);

            // Connect to the host
            ssh.connect(properties, new ConsoleHostKeyVerification());

            // Create a password authentication instance
            KBIAuthenticationClient kbi = new KBIAuthenticationClient();

            // Get the users name
            System.out.print("Username? ");

             // Read the password
            String username = reader.readLine();
            kbi.setUsername(username);

            kbi.setKBIRequestHandler(new KBIRequestHandler() {
              public void showPrompts(String name, String instructions, KBIPrompt[] prompts) {
                System.out.println(name);
                System.out.println(instructions);
                String response;
                if(prompts!=null) {
                  for(int i=0;i<prompts.length;i++) {
                    System.out.print(prompts[i].getPrompt() + ": ");
                    try {
                      response = reader.readLine();
                      prompts[i].setResponse(response);
                    }
                    catch (IOException ex) {
                      prompts[i].setResponse("");
                      ex.printStackTrace();
                    }
                  }
                }
              }
            });


            // Try the authentication
            int result = ssh.authenticate(kbi);

            // Evaluate the result
            if (result==AuthenticationProtocolState.COMPLETE) {
                // The connection is authenticated we can now do some real work!
                SessionChannelClient session = ssh.openSessionChannel();

                session.startShell();

                InputStream in = session.getInputStream();
                OutputStream out = session.getOutputStream();

                IOStreamConnector input =
                    new IOStreamConnector(System.in, session.getOutputStream());
                IOStreamConnector output =
                    new IOStreamConnector(session.getInputStream(), System.out);

                output.getState().waitForState(IOStreamConnectorState.CLOSED);

                ssh.disconnect();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
SSHTools-j2ssh-0.1.7/examples/PasswordConnect.java100644      0      0       10702  7656415734  17171 0ustar     0      0 /*
 * Sshtools - Java SSH2 API
 *
 * Copyright (C) 2002 Lee David Painter.
 *
 * Written by: 2002 Lee David Painter <lee@sshtools.com>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public License
 * as published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.

 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.RollingFileAppender;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;

import com.sshtools.j2ssh.io.IOStreamConnector;
import com.sshtools.j2ssh.io.IOStreamConnectorState;

import com.sshtools.j2ssh.SshClient;
import com.sshtools.j2ssh.authentication.PasswordAuthenticationClient;
import com.sshtools.j2ssh.authentication.AuthenticationProtocolState;
import com.sshtools.j2ssh.session.SessionChannelClient;

import com.sshtools.j2ssh.configuration.SshConnectionProperties;

import com.sshtools.j2ssh.transport.ConsoleHostKeyVerification;

/**
 * Demonstrates a simple password connection to an SSH server.
 *
 * @author <A HREF="mailto:lee@sshtools.com">Lee David Painter</A>
 * @version $Id: PasswordConnect.java,v 1.4 2003/02/17 16:00:21 martianx Exp $
 *
 * @created 20 December 2002
 */
public class PasswordConnect {
    /**
     * The main program for the PasswordConnect class
     *
     * @param args The command line arguments
     */
    public static void main(String args[]) {
        try {
            RollingFileAppender log =
                new RollingFileAppender(new PatternLayout(), "ssh.log", true);
            log.setMaxFileSize("100KB");
            BasicConfigurator.configure(log);

            BufferedReader reader =
                new BufferedReader(new InputStreamReader(System.in));
            System.out.print("Connect to host? ");

            String hostname = reader.readLine();

            // Make a client connection
            SshClient ssh = new SshClient();
            SshConnectionProperties properties = new SshConnectionProperties();
            properties.setHost(hostname);

            // Connect to the host
            ssh.connect(properties, new ConsoleHostKeyVerification());

            // Create a password authentication instance
            PasswordAuthenticationClient pwd = new PasswordAuthenticationClient();

            // Get the users name
            System.out.print("Username? ");

 	    // Read the password
            String username = reader.readLine();
            pwd.setUsername(username);

            // Get the password
            System.out.print("Password? ");

            String password = reader.readLine();
            pwd.setPassword(password);

            // Try the authentication
            int result = ssh.authenticate(pwd);

            // Evaluate the result
            if (result==AuthenticationProtocolState.COMPLETE) {


                // The connection is authenticated we can now do some real work!
                SessionChannelClient session = ssh.openSessionChannel();


                if(session.executeCommand("set")) {

                  InputStream in = session.getInputStream();
                  OutputStream out = session.getOutputStream();

                  IOStreamConnector input =
                      new IOStreamConnector(System.in, session.getOutputStream());
                  IOStreamConnector output =
                      new IOStreamConnector(session.getInputStream(), System.out);
                  IOStreamConnector error =
                      new IOStreamConnector(session.getStderrInputStream(), System.out);

                  output.getState().waitForState(IOStreamConnectorState.CLOSED);
                }

                ssh.disconnect();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
SSHTools-j2ssh-0.1.7/examples/PortForwarding.java100644      0      0        7104  7654450074  17000 0ustar     0      0 /*
 * Sshtools - Java SSH2 API
 *
 * Copyright (C) 2002 Lee David Painter.
 *
 * Written by: 2002 Lee David Painter <lee@sshtools.com>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public License
 * as published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.

 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.RollingFileAppender;

import java.io.BufferedReader;
import java.io.InputStreamReader;

import com.sshtools.j2ssh.forwarding.ForwardingClient;

import com.sshtools.j2ssh.SshClient;
import com.sshtools.j2ssh.authentication.PasswordAuthenticationClient;
import com.sshtools.j2ssh.authentication.AuthenticationProtocolState;
import com.sshtools.j2ssh.transport.TransportProtocolState;
import com.sshtools.j2ssh.configuration.ConfigurationLoader;


/**
 * Demonstrates a starting both a local and remote forwarding configuration.
 *
 * @author <A HREF="mailto:lee@sshtools.com">Lee David Painter</A>
 * @version $Id: PortForwarding.java,v 1.2 2003/02/17 16:00:18 martianx Exp $
 *
 * @created 20 December 2002
 */
public class PortForwarding {
    /**
     * The main program for the PortForwarding class
     *
     * @param args The command line arguments
     */
    public static void main(String args[]) {
        try {

            ConfigurationLoader.setLogfile("@console@");
            BufferedReader reader =
                new BufferedReader(new InputStreamReader(System.in));
            System.out.print("Connect to host? ");

            String hostname = reader.readLine();

            // Make a client connection
            SshClient ssh = new SshClient();

            // Connect to the host
            ssh.connect(hostname);

            // Create a password authentication instance
            PasswordAuthenticationClient pwd = new PasswordAuthenticationClient();

            // Get the users name
            System.out.print("Username? ");

            String username = reader.readLine();
            pwd.setUsername(username);

            // Get the password
            System.out.print("Password? ");

            String password = reader.readLine();
            pwd.setPassword(password);

            // Try the authentication
            int result = ssh.authenticate(pwd);

            // Evaluate the result
            if (result==AuthenticationProtocolState.COMPLETE) {
                ForwardingClient forwarding = ssh.getForwardingClient();

                forwarding.addLocalForwarding("Test Local", "0.0.0.0", 10022,
                                              "127.0.0.1", 22);

                forwarding.startLocalForwarding("Test Local");

                forwarding.addRemoteForwarding("Test Remote", "0.0.0.0", 8081,
                                               "127.0.0.1", 8080);

                forwarding.startRemoteForwarding("Test Remote");
            }

            ssh.getConnectionState().waitForState(TransportProtocolState.DISCONNECTED);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
SSHTools-j2ssh-0.1.7/examples/PublicKeyConnect.java100644      0      0       11474  7624174400  17250 0ustar     0      0 /*
 * Sshtools - Java SSH2 API
 *
 * Copyright (C) 2002 Lee David Painter.
 *
 * Written by: 2002 Lee David Painter <lee@sshtools.com>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public License
 * as published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.

 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.RollingFileAppender;

import java.io.BufferedReader;
import java.io.File;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;

import com.sshtools.j2ssh.io.IOStreamConnector;
import com.sshtools.j2ssh.io.IOStreamConnectorState;

import com.sshtools.j2ssh.SshClient;
import com.sshtools.j2ssh.transport.publickey.SshPrivateKeyFile;
import com.sshtools.j2ssh.transport.publickey.SshtoolsPrivateKeyFormat;
import com.sshtools.j2ssh.transport.publickey.SshPrivateKey;
import com.sshtools.j2ssh.authentication.AuthenticationProtocolState;
import com.sshtools.j2ssh.authentication.PublicKeyAuthenticationClient;
import com.sshtools.j2ssh.session.SessionChannelClient;

/**
 * Demonstrates a public key authentication connection to an SSH server.
 *
 * @author <A HREF="mailto:lee@sshtools.com">Lee David Painter</A>
 * @version $Id: PublicKeyConnect.java,v 1.2 2003/02/17 16:00:17 martianx Exp $
 *
 * @created 20 December 2002
 */
public class PublicKeyConnect {
    /**
     * The main program for the PublicKeyConnect class
     *
     * @param args The command line arguments
     */
    public static void main(String args[]) {
        try {
            RollingFileAppender log =
                new RollingFileAppender(new PatternLayout(), "ssh.log", true);
            log.setMaxFileSize("100KB");
            BasicConfigurator.configure(log);

            BufferedReader reader =
                new BufferedReader(new InputStreamReader(System.in));
            System.out.print("Connect to host? ");

            String hostname = reader.readLine();

            // Make a client connection
            SshClient ssh = new SshClient();

            // Connect to the host
            ssh.connect(hostname);

            PublicKeyAuthenticationClient pk = new PublicKeyAuthenticationClient();

            // Get the users name
            System.out.print("Username? ");

            String username = reader.readLine();
            pk.setUsername(username);

            // Get the private key file
            System.out.print("Path to private key file? ");

            String filename = reader.readLine();

            // Open up the private key file
            SshPrivateKeyFile file =
                SshPrivateKeyFile.parse(new File(filename));

            // If the private key is passphrase protected then ask for the passphrase
            String passphrase = null;

            if (file.isPassphraseProtected()) {
                System.out.print("Enter passphrase? ");
                passphrase = reader.readLine();
            }

            // Get the key
            SshPrivateKey key = file.toPrivateKey(passphrase);
            pk.setKey(key);

            // Try the authentication
            int result = ssh.authenticate(pk);

            // Evaluate the result
            if (result==AuthenticationProtocolState.COMPLETE) {
                // The connection is authenticated we can now do some real work!
                SessionChannelClient session = ssh.openSessionChannel();

                session.startShell();

                InputStream in = session.getInputStream();
                OutputStream out = session.getOutputStream();

                IOStreamConnector input =
                    new IOStreamConnector(System.in, session.getOutputStream());
                IOStreamConnector output =
                    new IOStreamConnector(session.getInputStream(), System.out);

                output.getState().waitForState(IOStreamConnectorState.CLOSED);

                ssh.disconnect();
            }

            if (result==AuthenticationProtocolState.PARTIAL) {
                System.out.println("Further authentication requried!");
            }

            if (result==AuthenticationProtocolState.FAILED) {
                System.out.println("Authentication failed!");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
SSHTools-j2ssh-0.1.7/examples/SftpConnect.java100644      0      0       11006  7624174376  16300 0ustar     0      0 /*
 * Sshtools - Java SSH2 API
 *
 * Copyright (C) 2002 Lee David Painter.
 *
 * Written by: 2002 Lee David Painter <lee@sshtools.com>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public License
 * as published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.

 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.RollingFileAppender;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;

import com.sshtools.j2ssh.io.IOStreamConnector;
import com.sshtools.j2ssh.io.IOStreamConnectorState;

import com.sshtools.j2ssh.sftp.*;

import com.sshtools.j2ssh.SshClient;
import com.sshtools.j2ssh.authentication.PasswordAuthenticationClient;
import com.sshtools.j2ssh.authentication.AuthenticationProtocolState;
import com.sshtools.j2ssh.session.SessionChannelClient;

import com.sshtools.j2ssh.io.UnsignedInteger64;
import com.sshtools.j2ssh.io.UnsignedInteger32;
import com.sshtools.j2ssh.io.ByteArrayWriter;

import java.util.Vector;

/**
 * Demonstrates a simple password connection to an SSH server.
 *
 * @author <A HREF="mailto:lee@sshtools.com">Lee David Painter</A>
 * @version $Id: SftpConnect.java,v 1.2 2003/02/17 16:00:15 martianx Exp $
 *
 * @created 20 December 2002
 */
public class SftpConnect {
    /**
     * The main program for the PasswordConnect class
     *
     * @param args The command line arguments
     */
    public static void main(String args[]) {
        try {

            BufferedReader reader =
                new BufferedReader(new InputStreamReader(System.in));
            System.out.print("Connect to host? ");

            String hostname = reader.readLine();

            // Make a client connection
            SshClient ssh = new SshClient();

            // Connect to the host
            ssh.connect(hostname);

            // Create a password authentication instance
            PasswordAuthenticationClient pwd = new PasswordAuthenticationClient();

            // Get the users name
            System.out.print("Username? ");

            String username = reader.readLine();
            pwd.setUsername(username);

            // Get the password
            System.out.print("Password? ");

            String password = reader.readLine();
            pwd.setPassword(password);

            // Try the authentication
            int result = ssh.authenticate(pwd);

            // Evaluate the result
            if (result==AuthenticationProtocolState.COMPLETE) {
                // The connection is authenticated we can now do some real work!
                SessionChannelClient session = ssh.openSessionChannel();
                SftpSubsystemClient sftp = new SftpSubsystemClient();
                session.startSubsystem(sftp);

                FileAttributes attrs = new FileAttributes();
                attrs.setPermissions("rwxrwxrwx");
                attrs.setPermissions(new UnsignedInteger32(
            attrs.getPermissions().intValue()
            | FileAttributes.S_IFREG));

                // Now try to write to a file without creating it!
                SftpFile file = sftp.openFile("cp.txt",
                                              SftpSubsystemClient.OPEN_CREATE
                                              | SftpSubsystemClient.OPEN_WRITE, attrs);

                /*FileAttributes attrs = file.getAttributes();
                attrs.setPermissions("rwxrwxrwx");
                sftp.setAttributes(file, attrs);*/

                SftpFileOutputStream out = new SftpFileOutputStream(file);
                String line = "All work and no play makes johnny a bad boy!\n";
                for(int i=0;i<100;i++)
                  out.write(line.getBytes());

                out.close();



                session.close();
                ssh.disconnect();

            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
                System.exit(0);
        }
    }
}
SSHTools-j2ssh-0.1.7/lib/log4j-1.2.6.jar100644      0      0     1254475  7541417764  14401 0ustar     0      0 PK
G-	META-INF/PK
E-org/PK
E-org/apache/PK
G-org/apache/log4j/PKE-org/apache/log4j/Appender.class}9O@gs9	8%DAثőFG!1WOΛ7q=Wp)-mrQؾ;
=;}ܑ\8j/N?#|?(:CUa(dEHIr8Al-O4E>icM:JlF"j5\?U?Uƻ)Z,B#1CoI\_&.ki([_4jh<2C:VSjfiB%LN}'.10䐜ZQE-
+sVfXCݰa4Bp;P9t?PK`hLPKE-'org/apache/log4j/AppenderSkeleton.classV[pUMiXJ	\)mrlͦPۛ8sg->ʈ3:㌊/w6mHH9'{7+ԣƱT<GN5
9rjD9"FaXyyS#qɨ<bQęyWEY
ũv.qyw^*^P񢊗DM}.
VN>lAdL;i$]mSQ 7SA1<݂#J)hc؎SRc;t+g
Gڹ¥"(^zna\KaW7hִK^)ݰw
Gn;ǀ8Pa}ByTwF܂Q
uXVN8)\ۢk(mר
AhAg@yp}v>:	ZSvlذt8/
pG5h$rƣ5a"4yN)Hxϲ0x3<-\4
[[*-3J=A1&S­f@Ċ
By^Rn9/|BޒrY:Q`Jk
Aji&w:ΣF>	oręA;MWlAd,mvF邆(c "++p:5t[4RWR6]aؖ=($%Oh؂W5멍^C5##a75
6-TھJ2VBl#*pj؇Vcv9YDNW4I=iM3
B%~(hiy6C#"+0ԫ-io*h+cs*a/\r2/?'rb`ЕFi#8eLY7ew,孶9IfVN$yG95/Y9;V/|A*"]w2I4o'ӽ<ܗB
^>=
ePRWQw2IqiE h,f*i<*`<M<(N{*z;J|J+aޑ54RSP%)R\Yu?8]s΀giyEoI~{P"Cm[h[ R|F➢,\Uj%]6\Dd*xb44-h2EW4b3"ˋ5-_d:0v&iy@kRR!ģ!h-Bx1zQ]NԂ?	zCk`oxI-x2(-ɰBF,i,52Hg5b⊀+ogn5Jz+aβ0,Lq4V|LO ųJ߆+igKw]yCWRo+~C]0}ly88_Lx<9@yMyD$Zuؑڹ;?X?YR,%$!wRgfa
tE*uƑ0]kt)|M(uY:t-L]%QXcPKsiPKE-$org/apache/log4j/AsyncAppender.classVkwWc98ӤqܤJ6X6m_
*q)HWQF8n)
}W!(@֪CY?3gf$Kl׹w=}wvu0(hC1fD"fxRES’[EdQQ+*⢈yS1<x&,"~Ql~#DeooxUkruoD(ɝ>?x&9u~<{nDUmȶ*ngRhpYATA9)>=cKvQ*N%=hWd3'*huS}>U2sOyR]p]o`MedOi[Y`9ݦS-F~Bw,*^4D1-=FxCg<WLMi+Gc{rg̊zHkQu|Ud5ea=h3ݛ-Vf:gya!Sw}fАgz[tv5#j]
wTdzU,GѮN6w8zhC>Ug9IXcjV3[11.TMǨv9Ɯ}h3X**a{e-Pׄ^`P0q)dۭxoۊͻTδ1m~a05>Ν
k_
Mn8OQ@Û8aQPÏpEU?(~gž͛R$h?kfooЋi9
ĸ_!2{G\|Nf@'NnB$gXļnlDvXk'
$=okaTX8q3A=L1ӏFp%W[r*ȶ2(+VfegC;㸭@%'r/jLrI|cO|
vgNdjmrj֘&W&):tj
u/YJeaؼ^+%bٮYbh6-zDZG^K!PЇK4?m%=y=Tyv!P>·LjJOh~EXDen Ω:Sm	=Rޅ@n'; =Hch[>9*B)Z
qCѾлξkhQƧ;1!39#]ܧ̆O$3?:a-	[DJ+q5!5$eװoUꅘobu~}has?CQtNzT'ySL!	d>)Z9^:t,>4":QTW
"+^)hJG~;hW&iТW|Pӏ6w/p0>ZU|ϲc>O/4xC?K.ۈ ?QB*Ǘp}5>Lwz՗JC(=>h[zw
҃ϳҟRDY{";z\[|i_⁵jlpO&8mkmz#Mpػqj-{\*IwVqִsQK?;e
	|1w,d$C^^%\[+[D:[_f"ԳZs$kQH1SΈvhmtz=PKKRPKE-(org/apache/log4j/BasicConfigurator.classSQOA^{qR,E<X7IxP#6׫%Qٶ&Wq7ٙ曙۟@
uŊXPŚ
؀m16uTtT2/0Rv(a
Bw{hMo(PR/.Æ+#]-g-ޡ?~/ⱌ3休"#)cR2ҕ/j%i<tD$#|+qDW6Sً<qB	-0Q3'V"	Ete[&\8Q+٣`-cٞe}i*U]}u8&vPԱk<˰;mΛFKx*?ːE&G/WLbNO(VLhX\J—,o6']+O}CNKѦa$t3AX&2dp9#31s\Ay!G9z<}l5ܣ8.(J0ݪMAڡ] X"lUezIFiakؗO7˃,PK;Na$PKE-org/apache/log4j/Category.classY|Tՙ3I$^!R!ÀAE&ę	[n}եVw*>Z[Xn߻[ںnۭsܹ{=|w./gC\w=?֏A6V?"Gr/ ^k&]XR?O?uol$σx
#~!| ~ 7A/5"/o^@^xE/
DIPE_"jT*xz(
*(xMTK'jZ̗~q\/J
QR7ѕbXDt8=G]2Xbt/n4
$S]щИO>5 ߐd"2BhMn&w}NN8.4NfbiLt,C+
'b]Q#5hMFc+njJwNLa#՛mt:>!)2&
,Ge̔LYK>IL!]7'2cF&6D\K2ZvҗʁXˆL7RH<2ɡhh*&[X,-PFY.n-4V(Kr.q	6*0u;h(Lik<+[\0eE)2J8gCXƠ|ڡx2mDtvZoGsHE%tQ6OhƐ	?nѼb\+׌d,AC\JGRI8KghC[ƸCrl2&RSsF(7n`$
5¹E`XNyi(Y4Ȩ5T*ԩom+2Imgr<j-luUj7Κ"ᰴV2MdY*EL<.o2F̕1ڔ67aE
N	V)0D:MsRwԴ|BKj!M$iuW:JIrΗZɌv8-y
ʂ*X.~r1B 
Oj,})\P=N,1a7IrfבtʽW#;+bMR'#K[ϛERVy,lḬ3qbUt&5rވf2FJ62n6&GeO4RS2Ɠ饮Z\^#{$==m߇fh*JH
.|fSSBڹfN'Ww_Skͧb",MMf&V9j	,e#f,nyY)$m$ٜ&+|(nb]
DR9R_,|]y6tQ$TD&l~Tpmq=
:nPuaX5/EqU؁p/u!:OԮyT\]/q.VUx":պ_qx..E/ś_<lGt܈_XT$.ݺX'euA\ct<Wab6?6Nr(?EJs,̘&brj>ˌ57/E[ҩ~Wlh't|]\)2jOmu M
ڋ̠ut3:_q6w2ʯIrՒٲ>nwH,eN(KE,':$;|Ye",nʜ
JivEՙp?n+ۦ<v3	?MoO>ƀMՉ[emxrU,%e`jGI9w
G3۷Ԝ3iE\d2v5[is4Hqsf3T5\f\Yꋊ5;Cv,17LӬEeeYޭ;8*3ڕƣL2.h;bl6T!lV6:l2/wΞ}MfTV3zzvS(	yO
D	.y5C(wB+M6WP.#%4EzEp)D@^
A!a
(n[oP(,;Il8P*s+ԛhôϕfږDMђ
R>EamGtaUzǰP]z|H77gPXſYzNg),=|ׇ_eBSTm1{$&x2n[֧l{?)C3<궷Ep"osM[t	;wфa)wX|XT^t!@%H!^QuDZ8x/q4q!,pq~*s"y
m#BBT:?t&6g텺Jhh^	;pm-I5 A49@4B4HhhAv!sRf;UwPu'UwQJi@K]
3%t
Jؠ&U*PBk8XoRWӎ=c/agQ1QstW,cܚr+԰/w{OaZrڂATVWxS(zZ|~ii:-pd1[?Zs9깸~qel<X"v7?ʵ?|>qjFmR?AD8|'̒OX14p':Ry;K@3#;xԡaZj0ƾ+NQIj;36s؃X:o9\Fc`ݺ=>ǦwfLyV%c"x2uI?ucx\Jdsg>s4{94v5ǧ\C̟gԕ3d.Xgm.^W33g@5zfxr`iU@Q,+ZBxUt5GKj..y3/S&hJ'UMrbLa<sѼ:nts:Ň0g]R͙>OD"͎ғ[zښ3|Uym2=Rd4MK_MG/a5h6
UZ螳PyHE:K"J̸i u&|-?]0?qd6_dﶰ7HLsED
;h
hPmYpv=Z4
՚Հxܒ0(G5yxOhut%=^zoǴ|PmZFmjѪ5 5Rmc"YcO(&dh<pS7J76w}D_R]Z	E+	:Մ	6jk	WmllxR۠r[Y(dy<#i|#KȊ*W;
w7z/oDJ+l+l+Ԟ'SI2KIҶU`"Qf#!d;̔۝mz(,`o!ۉ`kp[q[-_-T۬Xk4!I,EK%QM`rZ{}rUHrE{ªW~ʴ[kVQFl:(Ud?]=޼+]?PD|vp~Z[KB
';hw\Ub*Q߸'Q/>ʺ,L
wʗ,EdouRW5kRdBEijy<`Xɞv|_#sElalsX	d0S~d26O&u6_sMoѦn	"l]&o ehhq)cy-b}/{k߳S1kf5u7L[oecd~QY4yP•)\r2umewPKjL)PKE-"org/apache/log4j/CategoryKey.classSRP]^RB"EZBU,>[(!
SLSG^x0:>I#Ig>701*!+!'c2oƄIlGmt!ܓiU3MuSc7jznѱ
SbhJA-W-0jl=ntjhe<vz
-NEs2Cp0
ӜeRTֈ0\4LT\%u*4Ze~b.IUUrMHBH"}5^jE
L^=c'vYM@dbnr歺6]ֶ2\^vY7xMda	<șFIEں[dۖ-aF#yf%)D\Ơ(b
e YsIa(x'n?BMJoiAZ쒸RŶ޸×uyjN/dKL^>A
lr(D(a4yzx?2b{>?HӇ3! i
#XbP=$゚>/>"G+5y2(Fq<\w/"tB8s#:IEq2?e~߾AK$ HH])^ǽq*x~]h)*>{W


v5aG)":Dx$i0PKRk9PK
E-org/apache/log4j/chainsaw/PKE-.org/apache/log4j/chainsaw/ControlPanel$1.classSOA=[O
@P~ۃriLRI
OF=v-[ZLQ٥(Q$݇fϯߐF
yp7gf++QAՁ`C~2Q{"d4T>Ug].w
!:tWh0LTR$C?ʨoU^CJLʏH*lBeH?<:E02om<bC<40cbE"<IޘiZ)O*=@DaC^rk3_In8;uz(bS.nu1u>hZs4<
&:niI¥2тdHWLӗ΋!U{[ZJjoRaeA
%BHiawC2=]<=âQ0h̿=E~g[y'Hyk'H{d>iڳ
|Y<fq+pHYGHb{TS\)?8yq53b{U^
K6gs6vPK0@PKE-.org/apache/log4j/chainsaw/ControlPanel$2.classS[OA]XKrbP4T1& OLvvN,?xfZ.ƀI'gs?~"
ãqX(>l<AFe+*vE5DPEq]F͍x mz(LCZB>CNcV,xc3aa}~%lzwā2*̪V׮&FRQKC}@bhN.ZeT)ګR|u"6S.}:3108q5I"㎨N:mpE_E_H彎^7ffND}qJa
jɚ Y){;žt{RW5<V0Mes<=3LjT/$
z[ԂD	3Cg0w1UCu4ñBiCTmjh2K-
DBHÅ0]yh%鳜Sp12ϓ6Y_2]>F]9Fڭ#)R6aNw1x!4wqo":s8A66AQ^Cй!uAJ),E̚*PK8H^LPKE-.org/apache/log4j/chainsaw/ControlPanel$3.classS[OA=."Xq\7/UfQ'_IuKvo?02~3RcҤz/d1eCꨨ㞉7aj10k`Wl/N.~Ka\n~Qʷu^|0ɖ`)˕@
	ͻ|M\;ue+H+g3H&qG)8Mqڠ
\J
^W[Ht#Cɋ}n$Pa0c"DRy
8\YU-DlpIEWD}[2)OOf:(щbqkV⋕@-UpAa[(bBL\0+,X4C,2èBuC}]o>}	/H u|T.w6HKb4T!]NdB=`OHF8%yb;
SotRWRy$䱗bWz`>2>>r)A<U_0Fӫ8i!m),E!sʨ\#=pS?PGM4+?&*&n틂~"N^+~;4CWz0<PKֈ]APKE-.org/apache/log4j/chainsaw/ControlPanel$4.classSNA]XX9X]ʝƛ"FSФ+oImv^AQL/|p4(M:X=}q,(d0gaע(nz¨-Ȅoyk;
Sa#UKgp4lM^ȦjCl+jIa|r$Uo4L٧3}7;YBK5LJr@n.b0Z|xh0у1RJC$"n4CqWZ(#PTJwd<מQf(bюzbȦhv5ƾX
P#.jl#XpðWᚅE,<traXz!i^7OS̜=D%H2zӥQI)1䋥	YUCWʴG+0EAG]h^#cN;L$srvNtf1:݃zkKkHK)z^PFr."+Ȟ&?cn1ܽ,'|eAsAStEg/PK3u[<PKE-.org/apache/log4j/chainsaw/ControlPanel$5.classSNA]XK<"Xq4T1VM\y3N];xG0xPr0(M:X!muq,Q130`vyX%B'7nA-ʛЕ;lxJ dmwn\Rg+/AZ^:G27<LA'ntVrU*a(ԂH4Ej5sj02^DH!OSAg@4Eqȷ-.	l#PtE$ݧ!<6DN#$&E7f≕@
U<.pQa[(bBL\0K-X2p}<tdQꆤ}\M1s ːSK%]%VF*P+#L1;S!uWۑJĸ?be
c0LZzP1cѿH1dCFGJ0g3CY!S5t:W+KihKg)zL)rgwÅ=HL@5~!Qqn~>t꼠_	۩"3IEDPKfS^@PKE-.org/apache/log4j/chainsaw/ControlPanel$6.classRn0=n
*66֍0J
*RinfZWC!>{M|9O8x>\u3񱁮M[23G|DKu1N'MDiMT%?N'{||j"*1Dѓ}B\YB*Yd
`'RG#QXC'y!M=_lSJfZ.F/OqPURlsb˘tMC}Td4qXD
-=nn~% j|MEF)e%a޽0,dt蘸}c:.*!a
,~xFs
%.h,X{N%k΍
26fVW4zvnU߲۸fUԫ?PKMPKE-.org/apache/log4j/chainsaw/ControlPanel$7.classSMo@}qjLӆ|4@(
J(T= .gI967)HH8B(&*<ffoH&$LĒ()U
p3{/)|R5Zݶpq6;ۇ;a~ȶ0jȰœav?p}/h9/nJK˶OB
~|;i>Ndː9CebUC<=tTW`*>cA{LM3]AMD¨+%M{"Ζyt3͵0Z$"W<ݙQ5ga,pYLYƌ(k=QXgaiHEs9
U#\p"KAdHTKS/}
2^y6u7FWՈeDw]Xq@|ÑkuQ4
KZN,ԓShVYɞ#-)屿+}$>v'}d@"uau)
?I\ARg3GOj? 3>b"9)X/>7q^!$pU]e19PK{\PKE-,org/apache/log4j/chainsaw/ControlPanel.classWy|UIvgw29[ִݜ$6Ė4TN7[6;qvlBz J+G
"VEET̶dI?}ۓ}82PHV"b?&	]^
QM%H.	2K؁Oiu+nN>|i>#a%vYps.|ޅ;9.	wIG="_+K
UsM]/
|S>	؟p$_	|~P2>?·$ࠇqЍC8W{]8"⨄j< Hш!h~L0c"x!em%-)}G-:PVBb)X
MBD:-bZxQSZ([_X}uI""FjP$d\P{lRu[V[*ZϐYGKܖPDmVu!E+61	E&:!UkRѩgMCn%02Z0|MDU-6 &F6٦ӣNb
GXgO3b@wEvC2B*5k>ԗ;s:[b6FOeh@:Ԙa˯6+'ѠXȨ7-0} ̏UEOrɆJEޔ,k7tQU&!cxNÂѐ6h#_3BFjN/OE]jcgڔ<*D$(/&a6dW7[L"4-AE|GƳxNwe)<A8-{y?Ïp/yĤ$>Eݪ+e?"~ʐctSɐg}HY6rV5U*IΊxIJY=K/~-7xxru_H9ʲHDMQ.uo2~M>E^7e<nYOu4%HT[2mQu0'/%[GVq;2TnMPyT
q"%8'h8otjQK~)6k[)vR#k:ӵ-(Tj5=ꍊߠ:!TB2jcX1nKJ69}ѹLeԧEwT5zIepuIr*Gq	盍…gZ9Ƃ;B}J F7c&+*k8t@9$6U1,O}ހ	/X~h+8-(">=״b4%I"žh-
Q2sE3])\۽EƹdyO5l'sTO}eE"G[֌qYjeȉ[&sjw
?l
Ů/̖PPt[I~"o$h
RE6Yzk~xG֒	InSȮ{FB<#rh6STn^1O4ֈګE=[[
+hjnkik	 [=r엫qFYL-UQwchaO?ښo7ZIoߊ6^d'r\q!u&:8r\C^Y e"/cZgfTfz2YɌcֆG05$,/rYcDAYC[ƼN#N8XZ)z1qAiIrrIgF8QY\q&0EeA,Nۙ_@qC.-F)gv%P(z\Hh8m|N`s[8x8#
Xj$'dereL\wi~+:W&Ry8.G8*K=%A}2!8"ۓaT	\f-\v㸜aZ$DX<l:zozZ/F&F(ՇR,EaV+VQ\F#1XQݨŽ>4^Pǩ잣;CewU*	pB&簞9j6Y!X	ajFlfd]a}le;1v!- v8ne'p;bo`7{wwp=,a%8 ,J<$Taa

WpqDPpT#.\C8&܃^IaO	i4N
gpJ8dj%de;4 K1"<C@Q(jtRjva#(˸`N>Dv<vBȺ؍.5!@+7;rJ"^fZe
w Ȥ&hMz. Z |jyZC`ZYGf'HWA+c9rJi^DLlh;V]TAͳͯB]Q'QP
<+Y53WhBX
{^fښPKM	PKE-+org/apache/log4j/chainsaw/DetailPanel.classW	|d6
&Y($PBmdw,݉hUZ*E
J=z][{Sovݐ߼y޷O(bkV
jNأ|[.ܨ&q3-:nu܆5ܡCS]xGwK=阇{x${wc,x/>_$>(iȏ0>
 >,|\!CryD.Gd:QcਆOX!_xB>t	9	=&y|>/HO"$!_7hk@ywp5#V$a4]kv*lY߿a@]NsqnJavK<ǎY	Љ#f<6"=`R	$[OwGcpdXܵf"ZK4a
dmPll<.zJ&L锄҈;b(mnRJSվi[9՛IZBvQ3t;#qZ$.5sRT\^c}=%xg%SyDw@S]V-% AZFJ
nŶcbisA6>j.-)}h?eME<IMLX8,K
,<d]fhrx.t1t"Eę|03D]I^5,w>v/9K&nI6Z2r(ۣ\d>;DLm4|po&
i5!9hxV.WA@3:ۉYN9ng\
5=|z
?0CHÏ
?X0Mc1[5P]mM&N:v"WC'r[
i?y
65gUioxFQ/^^O¿4(lcTE/䅐.u6Dw\.>	{(D!B3D@T,tSg!f	b6D!j&pcBqXglh4mh!x+d)˳+VUl-J0B5'j
l\XX>OZk#QapҊ3ɫ#
ژLy+:qۉ%L^cӠ,[kttoUM"SIH9O(Q!7^w,:>/wEbۈre3\JYlls&5mvz${J񳂮l;l9x욵S9eUS4BP\qpJc(QufyˌouwbޙӶ<A)&kXvrN+Vg84Ǫ26s-b+ؕ/7.dUJ\^VR Vaar!G3N
5<,i+<Uz5”头)63vKj
;߈+uꪜa:>.)924FAF42¦Tڭrdj<F.ЦSN"!/>^YfY<wUE))r7±zoNϖ|䴗M_	ܦdTZVPo;]6)A9:jba+ %y䧻'SvΓ'԰;–5o8/RiLl
0#N/@F\
&`o
|xޜ۝}~>xsw>;'o|	Tf7glªs͏<fQóykY,hba͏uvpm,m֎J\XZ,:_*wQx5=0K;p)^C4^PNazF5J3T}=OጞX$s8 ^ mQ/[<%Gq@/	,mc@E,@oMj}ԾE=!lB*0Z*PgOY7ac(2ap5O #|Y^YgQ2rc/,gq51B/ıɤ3wGF`estC8x+	+{;&ܲhErqmX}/=bK:p9Y;|&B
ưi(+'"5uV#/ss.u Ş€W{@nE|iVV/@(<-xy`õkgvҝwa.(zd/p#ez3m;h4{/]s#adsVy&.2t@g]9skcy&c٫Ʀ|`QPk*TU~9]IQ1H5oUfC^\L	/0:aN#h?!GE@p6BsU)zJl2ެPKca	OPKE-,org/apache/log4j/chainsaw/EventDetails.classTmsSE~Moih5E|"PEMޚ[on0љfWgr<g4Y>{vyvs_Q,4nZ8U[>bÚ(	13gx	æ2>Mc+ϒx(˞6#
5zAEfKA䮬nB=p/XWd |.}%)}Yˆ[،BRR__]ۡvfʿMR8R"
EU}d:h/UyAcUEҫ7K^Ë~ȭߎi^	j$m5_QaqHB}K;h#1am5i־jDԊ̒=aGb|y|9I9Қ^.Ii	c@]	fO\.'8Aه%#$(Qb/F~dh1$?fnt.o|`/;;Eζqۘk6^Gq80pNۘl_xĩ_ⱍpU"˸n$*6L>ث=%r'~eGU#mY9ˋz楸sj_<ߊ)*3h5Z׆>4Csۅ^}/*~Ws?B(<יOvfJzA@
9㼀pN0,0dc-ĜlMpN6BZ-Xm}z?%*LW_y|KI1X|%DQ$	9$jTGTnLG(h.RQH-ڳ;FcMc4&iLQL G{Gܥ˺}__ƻ;q#?uJ͇==%.yc#j096HW 5Frb\7 ;#l
d+ȩAY7PK5		PKE-*org/apache/log4j/chainsaw/ExitAction.classTkOA=C-˖jAbQ,Vk1qXvIkv
ȯ
	I?xgP09w"O:
Y
{:N:xԅ8GDS</Td*i*<f"C%׫3¬GfKQq)h8[&*7-g-iLZ5IB'Ct2@'riorƝSyDеȪ9m;!C{]F}Ex|FDɵxm{7jazu0
iMH3ԓW)uƋd"(	eHO =۩LeΩm랒{g?RvepV[ܼUkދnx(تxjF90҂4'B繞9y!W7V݆ᝁ"k`qA!!!{dlK$Rʘ6WpaP)20gW|QǏ?U9lPuַŪ6B!?
3y&5mg=:.rNnR)CP4
M/cl2eO1Fu{4GU@ڡ~hSͥ0LF6\3cF#`4 #F3H6c;=tEHzHpOI* &4j,蛢-SB%&Y}tlJn	=nqՅ	L	]tA'Eг}\oA٭gSvP흿PKCm PKE--org/apache/log4j/chainsaw/LoadXMLAction.classW֖B,@`Q#[.`]kKTUvW4G$z_4m2mhC۴}Wof%#۲437޼/>,*ь!┊Nc2DT8TY6QCaoo-xT8*ho[b »! '@p&C!|( ΊsA|<OI|Jŧ >B_|_
 +*k̯C
P~Q踤iTݥ`SōL=d1ۙlUiy
4ND>&)vMGyY+*l偧3q{{6?dX#ԸЪdH[1!D/嚓u(QKID]mP#mK-xƠB:
LZ^Imi+U/Z%L43f=bfZ*tr'mH;idNZ|/v4,qWD\b
y u:if*WE^4M5~qsDV?
qc‹xV?K=f=ؼ+mL`ϗ"ܩr
nfmIfM}!Ah	π0A
2m2Ua訄Rv[ٜ7`眤٪pBMmL(;ŰKAdn9kdmLQސzѯRĄ>W5<^)
`Iؒ939
|S<+Z~tjoi6*t7[Bu
qh.y|_4j8.?cD^SJ@1GTTs
/Nٺ3$_
֕O:YzҶ<bQ]o[{?a T#ȄnC݉c*M*euI#7t"U/5ķ.3gy]}`{>T?en[]\#c[f{dt#m:tiQ{ڶu%3􁡁^="i,y<r[$=B,#"zp[|^Hyo?C~g0k8v*(#bET7 ?/s3*{Y);]XPj@|9΍}ӶFc9ǐ
EJ5!m`cO#4fzc"цr_+03_[B+@XCQbwMwY"ЏAF-sX/=(6KkI9
lZb
(ڰem
5NN}lQ3w[ƨv7Fy>ɼHѕnʞ˚ց4o1V[IdzDf	=?f*Fc6TF(4DIR=Y#;~Kl_Y ״~N%oX.}-n[Ywj3ˁ	a6nO“!_
ZZ%'Qt`P\$ހ,QQ8jΧ~;jl]rfÖ3[|9ŝ
!Uw=@/WO HiFuԡi/cYXVG0/oqW5Mce4^<n#|%~5W	Xq?hB
bX8:&4\ojiM 5F:]8FqqJ-w"ֆ^̟džx\Pk<6{ylic+<t#m/rEMΗ|m+?PmΣ\̕d@ScYl/!	]O#t5{0{qI2ofs'˓ދ"x-^0f0/B_HVos{4XsɟT)O;ifp">xyK@h
\ŝhwV5]_[dKukWE`%,2nE9E&$Q>E<@JLlT0}GG1@-RH|N2|6⒐qbS=3iT]ՒEΗbVMɵ*ҫ}2w"<+eG5)Wz	kE(%gD8:2NPK[qsPKE-7org/apache/log4j/chainsaw/LoggingReceiver$Slurper.classVRF6QEH	Q\MZBIZcZ[YDH,CiߙiLw{={.ߞ˞# QTV\Ǵ||bx| by
㱂'Rc^g*,Q_(2%4%cEj_IXSo3([9npɷ(y3<`T8p-WYY6
mwgYk-	S'ҮTD`1mv00sS2r^Y0lW,ַ67t<;ܷS%WϠͻs	;.=3ҳ'ꋼ=)`ޭփRE-b;}Z><2/HQ׎ŹϦ環dzWp2$,zWwJjɫe;OaLh5܄;
.H]<^W
3sPO5X0zc4d<ڬ$3-P:psIHNtޘRC'C>+[@?!cS(@o;RO*0&>0ĹұQeYKu׍Zv譱r5N42CJ=sJば<,6uMpp洟5EM?Z;+*Qdt"4~q<3&G\Y!15ɐr>uïs?nO=Zv/[)"MSCyUtzwûHC'VUĻ
Iowh?H
퓴g/Ȏ@y=/abQdhG&"B*:@R$M=#:B~}TGK^AYd}n@,7+b{]vCfAҝ!}}QFCTJzzR{zsr!I^
kWuݨpi~V$.|^='1Ed=Cr,	Z"+
 A]qB7}KDQWDQuhD}H<F¢LQ1@\FAPK$Z#@C	PKE-/org/apache/log4j/chainsaw/LoggingReceiver.classVwU^faXP%iײB%mJ
*K:%In+${9	1}o6
brޛw3ohn܉]xQ'U$1*fpFER*z0+
ΩP}9WT@Z̆8(*
 +朊9*qA<X*zaE1	$lp9*.aQkJ2_va-;yT%QzQ7x<ov.ǝa<Cn!cN7~1>8\JN\pqa[b^_wI,p]D=ai4\7L+w\lu+q4^2u4C(6&LOiH	`6i1smݝ35\4!,5;2q%]ӶD&EcDy[rĒ:oVsnw`e#Ң aWA5:sKCd0fIVѩ'CCd/ҿFE詵m,˽īW!j.;3EF4ٌ4D1!~kxGB4C+":̳؎75qE4w(q-xW v3l*rjixWgt%a
7
આCWs&Yq*Pֱ!
j+B×W̰;aZ+}-o4|}[T.C-dZ!Q!E
 aCÑpbu8&8㈂4<ES5PL^N}kjTzNT]RO,qȬ[پz<<g;$bZYTzؓF;2<]Ή$%uPZ_/uXZ#uVLQq0qa	ioiϰLKGt=O۸+JAǶN-K#J:(GhB-rGߣR,*n6|hWQ
%gj4UOa<Izm4ED+.AMmbmh7؇=4v;pTR,6,9='i7SxZ3ճx,Hh"@B3}
6\CXn`Sh%SUln`@]lU$zSс*>1(kTraR	 z!^<1<ie`32	gfKm-N~ ljq,!JoRjDOR>]O,#EU(K:^;_1Rqy.c:l|5yQ3̮/'ѹV6&\N	\Ď?1IŽkow	J/LIo'*R
?
߿PK⛕yHPKE-&org/apache/log4j/chainsaw/Main$1.classR]kA=ukjcK*CPAHi1v3Sv,|;h}9s_'؈vK.VbpUB`Ǫl>#4zHdcf BRLӷ|$DڎU^)a5OhP혡${Jd_;b?gdg2B $Zˢ|e.Ni'7#jw ND*6'Rt.DŽx`LQ%|	b4 4g:ZxnPYY*-W_>ʶ3&N6.ԙ[{SLq
Yr=b\v=
>y"sC\LWg7ԓk333*39k&B\g5pի{7PK
>&PKE-$org/apache/log4j/chainsaw/Main.classX	|&3&l$@X k$VDl&NܝZ=^ڻbZݤ՞Z]{ߗn}ھd,y{_yAi+x@5<hL>!
8a
**xDq
8#
>)T1
ł^kxO>>OjxO)U<KBWT|U𬂯kMPo{(h؂*mBJï?jxgE_MC=Ϊ	V/(FD9
yT2媔*"MJJ*P4*"cb.XβhJ%XH[P)Aolj;}@!BAK8F9hDGMPtP(֏vtwmkm"ZF0j]N܊
<-{Z@1"f0jl
69`O2OY$j$eR沔IȠaXY+275d4+Bi,gl8H6}&aa3F{x5N;bDqK|^gJsQ
V;r|'V[a36Zo	%҆'ե3W'FO
(lC-uDzH=;ÄsŊf$S=6[oGc}M--`i:1Gz3''22c80b1ge-afM(5$g:M̑VJ0%DD-'% a:#fĴȵ<M
w;;M3UlLJ
'ӓ9Qu04Xv0Ԟ)*_o#tG+`w,3!OWIuPe
uK6e{9Q<6V^m72LQwFֺxlDbZ24><Š]:]B+ti%wu_S<-sLdȺ^'?6g"i5!9:ת`j!zBtZOi	A5~;g#0;t*
Ži?f;~+n1AhLXwlBRy܌9jhڧ
UTEL*ZUD&~~C:C0\3~T&nc
uH
mfCʹˤP±Dxt)|^&a