-
Notifications
You must be signed in to change notification settings - Fork 610
Changelog
shikhar edited this page Jan 8, 2012
·
47 revisions
- GH-41:
OpenSSHKnownHostsre-implemented to better support the format seen in the wild, e.g. optional markers. -
SocketClientmade public so that SSHClient can be mocked for testing. - GH-37: Publish sources jar.
- Fixed typo on
SFTPClient.getFileTansfer() - Removed deprecated methods on
Session.Command,getOutputAsString()andgetErrorAsString(). - Window adjustments were being logged incorrectly, fixed.
- GH-47: Fix a condition where
ChannelOutputStreamwrites or flushes may wrongly block sitting around waiting for window adjustments where none was required. Issue was observed with non-OpenSSH servers like dropbear and WinSSHD. - GH-50: Fix for using sshj in OSGi.
- GH-26: Local port forwarding - there was no way to cleanly close the server socket.
- GH-36: Race condition in
AbstractChannelchannel requests (0.6.0 regression).
- GH-27: Fixed deadlock condition in
AbstractChannel. - GH-28:
StatefulSFTPClientdoesn't cwdify all commands. - GH-31: Fixed bug in SFTP
FileModefor AIX/Unix directory mask. - GH-34: The option to use an 'upload filter' is back in
SCPUploadClient.
- GH-20: In case of
publickeyauthentication 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.
- GH-22: OSGi-fication
- GH-18: Intermittent key exchange failures.
- GH-16: Support for
publickeyauthentication from strings.
-
DisconnectListenercallback. -
FileTransferinterface refactored. Local source and destination paths can be any implementation ofLocalSourceFileandLocalDestFile, respectively. - Bug in case of SCP remote path having spaces fixed.
- Deprecated
Command#getOutputAsString()andCommand#getErrorAsString()-- recommend usingIOUtils#pipeStream(..)instead. -
StreamCopierinterface 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
ChannelInputStreamgets correctly notified of errors e.g. at the transport layer. - Added a
channel.join(timeout)variant. - An alternate
AndroidConfigto initializeSSHClientwith on Android 2.3+ was added, which usesJCERandominstead 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#putfixed - was doing a get instead of a put! -
SessionChannelreuse 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_DATAthan 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
DefaultModeGetterandDeaultModeSetterstarted 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()-- returnsnullon 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
ModeGetterorModeSetterinterface for this purpose has been quashed. -
keyboard-interactiveauthentication 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 anyFileTransferimplementation (i.e.SCPFileTransfer;SFTPFileTransfer). - Various bugfixes and improvements.