A new patch for OpenSSH is under development, which will improve dramatically the performance of a large number of small file transfers, over high bandwidth high latency links, like the now pervasive wireless networks in sftp(1).
The algorithm pipelines readdir/open/read/write calls with a small window for file handles and avoid unnecessary round trip delays.
This improved file transfer mechanism which is possible due to the flexibility of the SSH+SFTPv3 protocols, will allow administrators to securely transfer large quantities of small files in a much shorter time frame using sftp(1).
New regression tests are also being written to make sure this functionality will be 100% reliable and tested, in the current release and all future OpenSSH releases!
Thanks.
Wednesday, July 7, 2010
Monday, June 14, 2010
New sftp(1) regression tests
I've developed some new regression tests for sftp(1), covering the following functionality:
- get/put -r (recursive transfers)
- get/put -p (preserving files' atime and mtime)
- chown
- chgrp
- chmod
If you'd like to integrate them into your OpenBSD -CURRENT tree, you can download the diff here.
If you have any suggestions, just let me know in the comments!
Saturday, June 5, 2010
OpenSSH 5.5 released!
OpenSSH 5.5 has been released and features the Google Summer of Code 2009 work that went into sftp(1). This is a bugfix release and the changes since 5.4 are:
- Unbreak sshd_config's AuthorizedKeysFile option for $HOME-relative paths
- Fix compilation failures on platforms that lack dlopen()
- Include a language tag when sending a protocol 2 disconnection message.
- Make logging of certificates used for user authentication more clear and consistent between CAs specified using TrustedUserCAKeys and authorized_keys
- * Allow contrib/ssh-copy-id to fail gracefully when there are no keys in the ssh-agent. bz#1723
- * Explicitly link libX11 into contrib/gnome-ssh-askpass2. bz#1725
- * Allow ChrootDirectory to work in SELinux platforms. bz#1726
- * Add configure.ac stanza for Haiku OS. bz#1741
- * Enable utmpx support on FreeBSD where possible. bz#1732
- * Use pkg-config to determine libedit linker flags where possible. bz#1744
The complete list of changes can be viewed on the OpenBSD 4.7 release notes
sftp(1) specific changes:
- Implement tab-completion of commands, local and remote filenames (requires libedit)
- Support most of scp(1)'s commandline arguments in sftp(1), as a first step towards making sftp(1) a drop-in replacement for scp(1). Note that the rarely-used "-P sftp_server_path" option has been moved to "-D sftp_server_path" to make way for "-P port" to match scp(1). Implements -2 -4 -6 -c -q -i -p -r switches
- Add recursive transfer support for get/put and on the commandline
The work started in Google Summer of Code 2009 is still going on, so stay tuned for updates.
Congratulations to the OpenSSH team for another great release!
Subscribe to:
Posts (Atom)