Revision history for Net::SFTP::Foreign 1.45_08 Nov 11, 2008 - reduce localized scope for $SIG{__DIE__} and $@ (bug report by David Serrano and David Riosalido) - workaround incomplete unicode support in perl 5.6.x - new FAQ entry about how to completely disable passwd authentication - add support for OpenSSH protocol extensions statvfs, fstatvfs and posix-rename. - add overwrite feature to rename method - new fs_encoding feature added ***this is a mayor internal change that could introduce new bugs*** - when parsing status msgs, the string was not being converted to utf8 - croak when utf8 data is written to remote files in any way. - binmode ssh_in and ssh_out - some minor documentation corrections - add support for mkpath (feature requested by Mark Murphy) - add support for late_set_attr (bug report by Oliver Dunbar) - add support for extended file attributes (bug report by Oliver Dunbar) - add support for the autodisconnect feature (bug report by Jared Watkins). - add support for multiprocess debugging 1.44 Oct 9, 2008 - put was using block sizes 4 times bigger than requested, bug introduced in 1.41 (reported by Hussain Syed). 1.43 Sep 8, 2008 - readline was slurping the full file contents (bug report by Sylvain Cousineau). 1.42 Jul 17, 2008 - experimental support for resuming file transfers - some typos fixed - TODO added 1.41 Jul 16, 2008 - add support for on the fly data conversions including dos2unix and unix2dos - copy_perm => 0 was being ignored in several methods (bug report by Dave Tauzell) 1.40 Jun 24, 2008 - work around for servers that do not include the mandatory error message on SSH_FXP_STATUS responses (bug report by Hugh Lampert). 1.39 Jun 23, 2008 - suppress warning on mod_perl environments (bug and solution reported by Eric Rybski). 1.38 May 20, 2008 - add experimental support for plink command - on get, don't change file size passed to callback - on get, survive stat failure for servers with stat/readdir disabled (bug reported by Hussain Syed) - default open mode set to read - add support for block_size and queue_size constructor arguments - limit usage of Expect and PTYs to authentication phase (bug reported by Tom Warkentin) - honour copy_perm option in put method (bug report by Bruce Harold) - copy_perms option renamed to copy_perm for consistency (copy_perms still supported) - glob optimization - typo in Net::SFTP::Foreign::Common::_set_errno was not setting $! correctly (bug report by Rafael Kitover) - add debugging support to _do_io and _set_(status|error) 1.36 Apr 18, 2008 - forbid usage of Net::SFTP::Foreign methods from Compat module (bug reported by Fred Zellinger) - document the password and passphrase constructor options. 1.35 Feb 8, 2008 - put method was failing for binary files under Windows because binmode was not set on the local filehandler (bug report and patch by Patrick Frazer). 1.34 Jan 8, 2008 - document rput. It said it was not implemented (bug report by Paul Kolano). - put method was failing for binary files under Windows because binmode was not set on the local filehandler (bug report and patch by Patrick Frazer). 1.33 Jan 6, 2008 - rremove was not removing dirs (bug report by Paul Kolano). - require perl >= 5.6 - add support for open/close and DESTROY debugging 1.32 Dec 8, 2007 - add new question to FAQ - document password and passphrase options (though, not completely). - somo minor documentation changes - on testing look for sftp-server on libexec dirs - and delete temporal files 1.31 Oct 8, 2007 - remove Win32::Socketpair loading, it is not used anymore - improve debugging - do not croak when invalid data from the other side appears 1.30 Aug 23, 2007 - add support for realpath option to ls method - add support for realpath and names_only to glob method - improve _set_status and _set_error methods - add support for password authentication and for keys with passphrases 1.29 Aug 14, 2007 - add support for names_only option to ls and find methods - make ls and find methods default to '.' - DESTROY was also messing with $? and $! values (bug reported by Dave Haywood) - better usage checking for several methods - add support for cwd (experimental) - symlink docs corrected - several other doc corrections 1.28 - argument checking in rename was wrong (reported by Greg Howard) - disable DIE custom handlers when using eval 1.27 Jul 7, 2007 - catch insecure $ENV{PATH} under taint mode (bug reported by jmarshll). 1.26 Jul 5, 2007 - my email was missing from the docs - make it work under taint checking (experimental feature). - work around bug in dualvar under taint checking 1.25 Jun 19, 2007 - remove some obsolete tests not working on 5.9.x 1.24 Jun 18, 2007 - DESTROY was messing up $@ (bug reported by Kai Grossjohann) - set $SIG{PIPE} handler inside _do_io to catch IO errors - don't execute external command when transport option is used on constructor 1.23 May 23, 2007 - release as stable! - some doc improvements 0.90_22 Apr 29, 2007 - experimental Windows support added 0.90_21 Apr 25, 2007 - some documentation improvements - check that ctor 'more' arguments are not joined - eliminate "Password" prompt on passwd_auth sample (solution suggested by Fletch on PerlMonks) 0.90_20 Apr 20, 2007 - add support for "transport" options on the constructor that allows to use password authentication and keys protected by a passphrase - add password authentication sample 0.90_19 Apr 5, 2007 - add abort method (feature requested by Jamie Lahowetz) 0.90_18 Mar 23, 2007 - fallback to dirty cleanup if ssh process doesn't exit cleanly in 8 seconds (bug reported by Brandon Schendel). 0.90_17 Mar 21, 2007 - add support for dont_save flag in get method, required for Compat module (bug reported by Jamie Lahowetz). 0.90_16 Mar 18, 2007 - new tests added - mkdir, rmdir, remove, setstat, fsetstat and _close methods argument parsing was wrong (bug #25101 reported by funkonaut) - wrong detection of Sort::Key corrected - debug mode was broken - network errors do not die anymore, documented 0.90_15 Dec 19 2006 - messages were not being queued on get method and so, performance was very bad (reported by "sched" via Perlmonks). - Auto reduce block size on get method. 0.90_14 Nov 8 2006 - FAQ section added on the module documentation - Net::SFTP supplant was not working, corrected 0.90_13 Sep 22 2006 - fchmod is not available everywhere, don't use it (bug and solution reported by Andre Tomt). 0.90_12 Aug 21 2006 - syntax error on Net::SFTP::Foreign::Compat corrected (reported by Hans Schligtenhorst). - supplant was misspelled - correct some dependency problems on Compat. - add test for Compat. 0.90_11 Jun 30 2006 - don't croak from connect on runtime errors - workaround bug in IPC::Open3 that leaves two processes running 0.90_10 May 17 2006 - 0 is a valid sftp handler. 0.90_09 Apr 25 2006 - bug on _do_io method corrected 0.90_08 Apr 24 2006 - bug for copy_perms => 0 corrected (reported by Erik Johansen). - usage checks added to most commands. 0.90_07 Apr 23 2006 - don't use pack for quads on little-endian systems (bug reported by Mogens Hafsjold) 0.90_06 Feb 24 2006 - implement rput - use Win32::Socketpair on Windows - implement API for local fs in Local - move common functions to Common and Helpers packages 0.90_05 Feb 23 2006 - convert remote file handle strings to tied file handles - most methods changed to mimic perl buil-ins - attach file position to file handles. 0.90_04 Feb 22 2006 - remove bug in get that could left remote file handles open - new methods readlink, symlink, rremove, rget. 0.90_03 Feb 21 2006 - minor corrections to the docs - new methods glob and join implemented. 0.90_02 Feb 20 2006 - added new method find - ls method expanded with callback - contructor rewritten - better docs for Constants package - Compat module updated - several corrections on the docs 0.90_01 Feb 16 2006 - almost full rewrite exposing new much improved and incompatible API!!! -------------------------------------------------------------------------- 0.57 Nov 29 2005 - check sysread return value when reading from pipe (bug report and patch submited by Mina Naguib). 0.56 Nov 14 2005 - correct bug on open2_cmd option 0.55 Oct 24 2005 - kill ssh process when done (bug reported by Alf Carlsson). 0.54 Sep 07 2005 - add support for transferring files bigger than 4GB 0.53 May 03 2005 - link to SFTP draft actualised 0.52 May 03 2005 - some typos corrected on the docs. 0.51 May 03 2005 - Net::SFTP::Foreign::Buffer reimplemented from scratch. It doesn't depend on Net::SSH::Perl::Buffer anymore. - use foreign 'ssh' to open connections. 0.50 May 02 2005 - Net::SFTP::Foreign FORKED !!! -------------------------------------------------------------------------- Previous revision history for Net::SFTP 0.09 2005.01.16 - New co-maintainer, David Robins (DBROBINS). - Adds a 'warn' argument to the constructor to allow supression or redirection of warnings. - Allows the 'ssh_args' constructor argument to be either a hash ref or an array ref. - Adds a 'status' method which returns the last SSH2_FX_* status value, or (status value, text) in list context (only useful after last failure). - Adds brief summary comments to some methods. - Returns failure if the remote open fails for 'get' (previous code ignored it); also moves the remote open before the local open so that we don't create empty local files if the remote file can't be opened. - Changes 'ls' to return an array reference in scalar context. - Documents: the fact that we die on protocol/local errors; the new option and method; changes to 'get'/'put' (formerly 'put' didn't return anything useful, and 'get's actual return values are the same, just better documented). - Adds a comprehensive remote test, but to use it one has to manually go in and configure a server a certain way, so it defaults to skipping everything; I'm including it as a base since there are currently no remote tests at all. 0.08 2003.12.12 - Net::SFTP::Buffer was passing an invalid option when loading Net::SSH::Perl::Buffer. - Add SUPPORT section to the docs. 0.07 2003.11.14 - Require Net::SSH::Perl 1.24, which also includes circular reference fixes. 0.06 2003.11.14 - New maintainer, Dave Rolsky. - Fixed a circular reference which caused connections to be held open indefinitely in a persistent environment like mod_perl. This uses weak references, so Perl 5.6.0+ is now required. This work was funded by Kineticode, Inc. - Added a LICENSE file. 0.05 2001.05.24 - Added help ('h' or '?') command to psftp. Moved all shell functionality into Net::SFTP::Shell. - Net::SFTP::Util needed to 'use Exporter'. 0.04 2001.05.16 - Fixed bug in put method when running fsetstat command; it was trying to set the UID/GID on the remote file, which was giving a permission denied message. Should not try to set UID/GID, so had to adjust flags. - Added eg/psftp, a working SFTP shell. - Moved READ and WRITE commands into their own methods (do_read and do_write, respectively). - Changed semantics of get method. Returning the contents of the remote file is no longer connected to whether a local file is passed as an argument; it is instead based on the calling context of 'get'. Updated docs to reflect this. 0.03 2001.05.15 - Documentation for all extra classes: Attributes, Buffer, Constants, and Util. - Documentation for command methods in Net::SFTP. - Added binmode when reading/writing from local files. - Added methods for all remaining commands in SFTP protocol version 3 (eg. remove, rmdir, mkdir, realpath, etc.). - Added callbacks to get and put, eg. for status messages, etc. - Fixed typo in Net::SFTP::Buffer::get_int64 that was breaking reading 64-bit ints. 0.02 2001.05.14 - Fixed bug with SSH2 server not sending one message per packet, ie. multiple packets have to be retrieved to make up one SFTP message. This would show up as a "Message length too long" error. Thanks to Matt Good for the spot. - Fixed bug with OpenSSH and SSH2 SFTP servers where after a certain amount of bytes the connection would hang. This was a bug in Net::SSH::Perl (channel window sizes) that is fixed in version 1.13. 0.01 2001.05.13 - original version; created by h2xs 1.19