-
Notifications
You must be signed in to change notification settings - Fork 601
Changelog
shikhar edited this page Sep 26, 2011
·
47 revisions
- GH-28:
StatefulSFTPClient
doesn't cwdify all commands. - GH-27: Fixed deadlock condition in
AbstractChannel
. - GH-31: Fixed bug in SFTP
FileMode
for AIX/Unix directory mask. - GH-34: The option to use an 'upload filter' is back in
SCPUploadClient
.
- In case of
publickey
authentication using a string rather than a file, prevent private key data from leaking in logs / on authentication exception. - GH-21: SessionChannel#changeWindowDimensions was broken
- Prevent occasional spurious NPE when disconnecting at AbstractDirectChannel#notifyError.
- SSHClient implements Closeable.
- OSGi-fication
- GH-18: Intermittent key exchange failures.
- Support for
publickey
authentication from strings.
-
DisconnectListener
callback. -
FileTransfer
interface refactored. Local source and destination paths can be any implementation ofLocalSourceFile
andLocalDestFile
, respectively. - Bug in case of SCP remote path having spaces fixed.
- Deprecated
Command#getOutputAsString()
andCommand#getErrorAsString()
-- recommend usingIOUtils#pipeStream(..)
instead. -
StreamCopier
interface updated, now uses builder pattern.start()
to spawn,copy()
to do it in current thread and block. - Possible to specify an alternate path separator (for Windows SFTP servers).
- Several internal refactorings that make the library nicer...
- stderr
ChannelInputStream
gets correctly notified of errors e.g. at the transport layer. - Added a
channel.join(timeout)
variant. - An alternate
AndroidConfig
to initializeSSHClient
with on Android 2.3+ was added, which usesJCERandom
instead ofBouncyCastleRandom
. - In SCP upload, detect when destination directory does not exist. This was previously detected as a warning (well, technically it is sent as one...) but should truly be an error. All SCP 'warnings' now treated as errors.
- Bug with
StatefulSFTPClient#put
fixed - was doing a get instead of a put! -
SessionChannel
reuse now gets an explicit runtime error.
-
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 toSSHJ_0_3
. - Support for SFTP versions less than 3.
- Host based authentication - see
net.schmizz.sshj.userauth.method.AuthHostbased
; pass an instance toSSHClient.auth()
to use. - Added
Channel.join()
to allow blocking on channel close event. Useful e.g. when waiting for a command to exit. - Various code cleanups.
- In 0.2.0
DefaultModeGetter
andDeaultModeSetter
started throwing exception when permissions couldn't be retrieved/assigned, and this was problematic on windows so the exception has been replaced with a log message.
- 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()
-- returnsnull
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
orModeSetter
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 anyFileTransfer
implementation (i.e.SCPFileTransfer
;SFTPFileTransfer
). - Various bugfixes and improvements.