Age | Commit message (Collapse) | Author |
|
fix new cygwin test failures reported by alexander
|
|
new parent exception for all auth failures, and new specific exception for bad host key
|
|
pulled out openssh config parsing into its own class
|
|
add unit tests for SSHClient, and fix a few bugs that uncovered
|
|
channel operations raise an exception on error now instead of returning a bool
|
|
if open_channel fails, it now raises ChannelException. added a unit test for that too. renegotiate_keys will also raise an exception now instead of returning a bool.
|
|
make a slightly different exception for the expected mode on cygwin (why would they add support for some but not all of the unix mode bits? very odd)
|
|
readv should just yield results as it gets them (suggestion from robertc)
|
|
2 more unit test bugs found by alexander (can't change atime on win32)
|
|
tweak a test that relied too much on timing
|
|
fix a bug where prefetch() at EOF would throw an exception, and add a unit test
|
|
add a test that feed/read can happen piecemeal
|
|
factor out BufferedPipe into its own class
|
|
assertTrue doesn't exist in py23
|
|
some fixes for win32: potential fix for lockup during failed tests; don't try chmod/chown or symlinks; fix canonicalize to convert dos-style path separators to '/'; open local files in binary mode; close a file before erasing it
|
|
roll in some changes from bzr that may be necessary to get stub_sftp to work on windows
|
|
fix exception-catching error found by alexander belchenko
|
|
document readv, fix thinko, and add a readv unit test
|
|
add test to verify that 'for x in hostkeys' works
|
|
move sftp big-file tests into a separate class and add one that does a prefetch, then seeks in random order
|
|
improve HostKeys so that it more correctly emulates a dict, and add a unit test to verify that
|
|
add SFTPClient.truncate. add chmod, chown, utime, and truncate to SFTPFile. and of course tests.
|
|
add HostKeys, a helper for reading/parsing openssh known_hosts files, including hashed-host support
|
|
experimental util functions for parsing/getting openssh host config, and unit tests (turned out to be pretty easy)
|
|
add unit test for compression
|
|
new unit test for doing a bunch of prefetches at once
|
|
dumb test to verify utf8 encoding
|
|
add 'x' flag to open to allow O_EXCL behavior
|
|
don't attempt to start a rekey negotiation from within send_message -- always do it from the feeder thread. this prevents a situation where more than one thread may decide spontaneously to rekey, sending multiple kexinit messages, which confuses the hell out of the remote host :) also, do some locking around the clear-to-send event, to avoid a race when we first go into rekeying. add some tests for these things too
|
|
add SFTPFile.prefetch() to allow pre-fetching a file that will be downloaded in full -- quick testing showed this could speed up downloads 3x or more
|
|
add server-side support for keyboard-interactive auth, and a couple of unit tests
|
|
add file pipelining for writes
|
|
dumb tiny tweaks
|
|
add SFTPFile.check and server support (and test) -- it's an sftp extension that allows a client to retrieve the hash of part or all of a file without downloading it. we're probably the only ones who implement it yet
|
|
bulletproof the select test in test_transport more
|
|
add SFTPClient.put and SFTPClient.get, and make sftp file objects auto-close on del
|
|
add the concept of a cwd to SFTPClient, and add a unit test for it
|
|
cool optimization from john rochester: use cStringIO in Message (and also fix some unit test bugs revealed by the change)
|
|
2 keys needed for unit tests
|
|
more unit tests
|
|
fix stupid bug in kex_group1 which luckily only affected unit tests
|
|
add unit tests for the packetizer, and fix a little locking bug where i think more of the packetizer write function should be inside a lock
|
|
split out Packetizer, fix banner detection bug, new unit test
split out a chunk of BaseTransport into a Packetizer class, which handles
the in/out packet data, ciphers, etc. it didn't make the code any smaller
(transport.py is still close to 1500 lines, which is awful) but it did split
out a coherent chunk of functionality into a discrete unit.
in the process, fixed a bug that alain spineux pointed out: the banner
check was too forgiving and would block forever waiting for an SSH banner.
now it waits 5 seconds for the first line, and 2 seconds for each subsequent
line, before giving up.
added a unit test to test keepalive, since i wasn't sure that was still
working after pulling out Packetizer.
|
|
add SFTPClient.close()
add SFTPClient.close() and add a simple little unit test for it.
|
|
change SubsystemHandler/SFTPServerInterface API
change the API of SubsystemHandler to accept a reference to the
ServerInstance object during construction. this will break all code
that currently creates subsystem handlers (like sftp servers) -- sorry!
lots of little doc fixups (mostly indenting).
|
|
even better 1.2 lapras
re-bump the version # to 1.2 (with a new date since i added more stuff).
add 2005 to the copyright date in a bunch of files.
|
|
tweak sftp_file write behavior on large blocks of data
BufferedFile.write() wasn't correctly dealing with the possibility that the
underlying write might not write the entire data block at once (even though
the docs said it would). now that it's working, make sftp_file take
advantage of it in order to chop up blocks larger than 32kB (the max allowed
on sftp) and add a unit test for it.
|
|
little doc fixes
stupid little doc fixups that didn't fit with the other patches.
|
|
forgot to check in stub_sftp
yikes! don't forget to check this in: needed for unit tests.
|
|
raise better exception on empty key
raise a clearer exception when trying to create an empty key.
|