From ce5a62366ff3941f3c0b8ee2cb2696f8710309e9 Mon Sep 17 00:00:00 2001 From: Shikhar Bhushan Date: Thu, 12 Aug 2010 14:46:43 -0700 Subject: [PATCH] . --- Changelog.md | 26 ++++++++++++++ Changelog.textile | 22 ------------ Home.md | 35 +++++++++++++++++- Maven-artifact.textile | 34 ------------------ Maven.md | 80 ++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 140 insertions(+), 57 deletions(-) create mode 100644 Changelog.md delete mode 100644 Changelog.textile delete mode 100644 Maven-artifact.textile create mode 100644 Maven.md diff --git a/Changelog.md b/Changelog.md new file mode 100644 index 0000000..ebe0154 --- /dev/null +++ b/Changelog.md @@ -0,0 +1,26 @@ +version 0.3.0-SNAPSHOT +----------------------- + ++ `channel.close()` method no longer called implicitly on disconnecting, because this is error prone. See updated examples. ++ Logging fix: enable filtering, previously due to misconfiguration this was hard to do. ++ Don't barf when a server sends more `CHANNEL_DATA` than announced. Now there is no exception in this case, but still only as much data as announced is consumed. ++ Client was still identifying as `SSHJ_0_1` -- changed to `SSHJ_0_3`. ++ Support for SFTP versions less than 3. ++ Host based authentication - see `net.schmizz.sshj.userauth.method.AuthHostbased` - pass an instance to `SSHClient.auth()` to use. ++ Various code cleanups. + +version 0.2.3 +-------------- + ++ In 0.2.0 `DefaultModeGetter` along with setting permissions also started throwing an exception if it could not, and this was problematic on windows so the exception has been replaced with a log message. + +version 0.2.0 +-------------- + ++ Now compiled with compiler source and target level = 6 -- JRE 6+ is required! Always was, just more explicit now. ++ New methods in `SFTPClient`: checking if a file/directory exists (`statExistence()` -- returns `null` on file not found); recursively create directories (`mkdirs()`). ++ Bug with SFTP directory listing being truncated fixed. ++ Timestamps and permissions are now preserved by default when transferring with SCP or SFTP. A bug which prevented even using the `ModeGetter` or `ModeSetter` interface for this purpose has been quashed. ++ `keyboard-interactive` authentication now supported. `SSHClient#authPassword()` attempts to use it as a fallback by default. ++ An interface has been introduced for observing progress of file transfers (`TransferListener`) which can be registered with any `FileTransfer` implementation (i.e. `SCPFileTransfer`; `SFTPFileTransfer`). ++ Various bugfixes and improvements. diff --git a/Changelog.textile b/Changelog.textile deleted file mode 100644 index 953a1ab..0000000 --- a/Changelog.textile +++ /dev/null @@ -1,22 +0,0 @@ -h3. version 0.3.0-SNAPSHOT (draft) - -* channel.close() method no longer called implicitly on disconnecting, because this is error prone. See updated examples. -* Logging fix: enable filtering, previously due to misconfiguration this was hard to do. -* Don't barf when a server sends more CHANNEL_DATA than announced. Now there is no exception in this case, but still only as much data as announced is consumed. -* Client was still identifying as SSHJ_0_1 -- changed to SSHJ_0_3. -* Support for SFTP versions less than 3. -* Host based authentication - see net.schmizz.sshj.userauth.method.AuthHostbased - pass an instance to SSHClient.auth to use. - -h3. version 0.2.3 - -* In 0.2.0 DefaultModeGetter along with setting permissions also started throwing an exception if it could not, and this was problematic on windows so the exception has been replaced with a log message. - -h3. version 0.2.0 - -* Now compiled with compiler source and target level = 6 -- JRE 6+ is required! Always was, just more explicit now. -* New methods in SFTPClient: checking if a file/directory exists (statExistence() -- returns null on file not found); recursively create directories (mkdirs()). -* Bug with SFTP directory listing being truncated fixed. -* Timestamps and permissions are now preserved by default when transferring with SCP or SFTP. A bug which prevented even using the ModeGetter or ModeSetter interface for this purpose has been quashed. -* keyboard-interactive authentication now supported. SSHClient#authPassword() attempts to use it as a fallback by default. -* An interface has been introduced for observing progress of file transfers (TransferListener) which can be registered with any FileTransfer implementation (i.e. SCPFileTransfer; SFTPFileTransfer). -* Various bugfixes and improvements. \ No newline at end of file diff --git a/Home.md b/Home.md index ebd2f8c..f5ba436 100644 --- a/Home.md +++ b/Home.md @@ -1 +1,34 @@ -[[Maven Artifact]] \ No newline at end of file +[[Maven]] + +[[Changelog]] + +Frequently Asked Questions +=========================== + ++ **Toning down the logging** + + sshj uses sl4j, which is just a facade, so it depends on how the underlying logging implementation you are using is configured. For example, in case of log4j this is typically accomplished with a `log4j.properties` in the classpath. Filter out/down messages from the `net.schmizz` category. + + *In versions less than 0.3.0 there is an embarrassing bug that some logger categories are misconfigured. So filtering will not work correctly.* + ++ **Android support** + + Android is not supported because sshj uses elements of the Java 6 library, which is not fully supported in the Android SDK. So when that happens, sshj will work on Android. + ++ **I/O with Channels** + +```java + // on any Channel, including Session.Command, Session.Shell and Session.Subsystem + getOutputStream() // -> java.io.OutputStream; corresponds to stdin + getInputStream() // -> java.io.InputStream; corresponds to stdout + + // only on Session.Command and Session.Shell + getErrorStream() // -> java.io.InputStream; corresponds to stderr + + // only on Session.Command + getOutputAsString() // -> java.lang.String; this is blocking since it reads all the data from stdout until it encounters EOF +``` + ++ **Concurrency** + + Multiplexing channels over a single connection is supported. diff --git a/Maven-artifact.textile b/Maven-artifact.textile deleted file mode 100644 index 112feee..0000000 --- a/Maven-artifact.textile +++ /dev/null @@ -1,34 +0,0 @@ -h2. Releases - -sshj releases are present in the central maven repository. - -
-
-    net.schmizz
-    sshj
-    0.2.3
-
-
- -h2. Snapshots - -You will need to add the sonatype remote repository if you don't have it already. - -
-  
-    
-      sonatype
-      http://oss.sonatype.org/content/groups/public/
-    
-  
-
- -And a dependency like this: - -
-
-    net.schmizz
-    sshj
-    0.3.0-SNAPSHOT
-
-
\ No newline at end of file diff --git a/Maven.md b/Maven.md new file mode 100644 index 0000000..3ed9f4d --- /dev/null +++ b/Maven.md @@ -0,0 +1,80 @@ +Releases +========= + +sshj releases are present in the central maven repository: + +```xml + + net.schmizz + sshj + 0.2.3 + +``` + +Snapshots +========== + +You will need to add the sonatype remote repository if you don't have it: + +```xml + + + sonatype + http://oss.sonatype.org/content/groups/public/ + + +``` + +And a dependency on a sshj snapshot: + +```xml + + net.schmizz + sshj + 0.3.0-SNAPSHOT + +``` + +Additional dependencies +======================== + +Required +--------- + +`slf4j-api` will get pulled in transitively, but you need to add a slf4j binding and the implementation for that binding. If you don't have strong preferences for some logging framework, try [[logback|http://logback.qos.ch]] which natively implements the slf4j api. + +```xml + + ch.qos.logback + logback-core + 0.9.24 + + + ch.qos.logback + logback-classic + 0.9.24 + +``` + +Optional +--------- + +Throw in BouncyCastle to be able to read in openssh key files and generally get better crypto. + +```xml + + org.bouncycastle + bcprov-jdk16 + 1.45 + +``` + +jzlib if you intend to use zlib compression. + +```xml + + com.jcraft + jzlib + 1.0.7 + +``` \ No newline at end of file