Commit Graph

168 Commits

Author SHA1 Message Date
Douglas Turk 681a465f32 Handle/fix handling of EINTR errors in a few places.
(cherry picked from commit 351bdb72e539c373985e108c89f61839f3acdd2a)

Conflicts:
	paramiko/agent.py
	paramiko/client.py
	paramiko/transport.py
2012-09-24 18:58:54 -07:00
Jan Brauer d18b8cf1e9 Fix #33 - parse config as described by manpage
(cherry picked from commit 011805eae07ee7be6140b95f6d8669763c55b3d9)
2012-09-23 16:45:49 -07:00
Jeff Forcier f04ddd420d Fix broken tests
(cherry picked from commit 00e1072ee5abbc92b5df57e10cadb638d583d971)

Conflicts:
	tests/test_util.py
2012-09-23 16:45:28 -07:00
Bobby Impollonia ae3ecbe548 Remove comparison between int and str
The code had been doing 'n < self.__in_buffer' when it
wanted to be doing 'n < len(self.__in_buffer)'

In Python 2.x, this comparison (int < str) is always True.
I found this while porting to Python 3 where it raises
an error.

The code has been working without complaints because always
taking the true branch of this conditional is actually fine.
We don't need the false branch, so drop the check entirely.
(cherry picked from commit 0a013f829e)
2012-09-23 16:18:57 -07:00
Gary van der Merwe 044e702998 Use Crypto.Random rather than Crypto.Util.RandomPool. 2010-08-03 00:13:08 +02:00
Robey Pointer f67cea44d0 code style and fix test. 2010-04-13 18:52:29 -07:00
Larry Wright b4ee844a3c added functionality to skip verifying the file, which works around sftp servers that remove the file immediately after it's been closed. 2009-12-18 17:02:55 -06:00
Robey Pointer 71e872e23a bug 426925: lookup host keys correctly when they have a different port. 2009-11-01 21:28:47 -08:00
Robey Pointer 931f71e627 bug 411099: chdir() isn't saving the cwd in a normalized way. added test. 2009-10-31 16:06:53 -07:00
Robey Pointer 60c6e94e7d fix my email address to be the current one. 2009-07-19 19:45:02 -07:00
Robey Pointer 74b581c170 bug 300536: allow a really long banner before the SSH handshake. 2009-02-17 18:30:48 -08:00
Robey Pointer fbfd8126c8 [project @ robey@lag.net-20080706230815-v2ybqxm237zw0wa0]
add a callback method that can be used to track get/put progress in
SFTPClient. suggested by Phil Schwartz.
2008-07-06 16:08:15 -07:00
Robey Pointer c2ef48cf18 [project @ robey@lag.net-20080706203706-zqxb69qrcgyuf90n]
allow multiple key files to be specified in SSHClient.
suggested by Bernhard Walle.
2008-07-06 13:37:06 -07:00
Robey Pointer 305f5e09a5 [project @ robey@lag.net-20080604053906-vz5toqvlp5miqy1x]
merge deadlog bugfix from dwayne litzenberger.
2008-06-03 22:39:06 -07:00
Robey Pointer f35a65bb0c [project @ robey@lag.net-20080324065111-qv8icii767fqex9j]
fix some unit tests for windows
2008-03-23 23:51:11 -07:00
Robey Pointer e5a1b4bf56 [project @ robey@lag.net-20080323025751-de0lem9pi4oydt2g]
bug 193779:
catch EOFError in auth, and turn it into an auth exception. add a unit
test to verify.
2008-03-22 19:57:51 -07:00
Robey Pointer 7854d600a7 [project @ robey@lag.net-20080323020709-ub8ya3xkh1ebywfa]
add exit_status_ready for justin cook.
2008-03-22 19:07:09 -07:00
Robey Pointer c0fc67acc9 [project @ robey@lag.net-20080323020309-9bjcp7l2ygdu49d2]
slight tweak to test, make it verify the length too
2008-03-22 19:03:09 -07:00
Robey Pointer 419b11b741 [project @ robey@lag.net-20080323020054-ar5bmythf7fr5rgk]
in the test that verifies key renegotiation during a large file "put", also
do a "get" of the large file (with prefetch) to verify that nothing screwy
happens.
2008-03-22 19:00:54 -07:00
Robey Pointer 7ebda9a76d [project @ robey@lag.net-20080220060030-jih2gfguzp6jbwog]
verify WarningPolicy is exported
2008-02-19 22:00:30 -08:00
Robey Pointer 9e67c45053 [project @ robey@lag.net-20080218051229-xtylb1poe246k2ci]
merge patch from Dwayne Litzenberger to fix unit tests on python 2.3.
2008-02-17 21:12:29 -08:00
Robey Pointer d81e0038d2 [project @ robey@lag.net-20080218024139-i2t8y0f0dd93xjo1]
bug 189466: fix typo in osrandom.py (from patch in bug report) and add a
friggin' unit test.
2008-02-17 18:41:39 -08:00
Robey Pointer 888aa8d5b7 [project @ robey@lag.net-20080124045017-dfqiamorj356btrd]
fix the utf-8 password bug for good (aka bug 177117) and add unit tests
this time.
2008-01-23 20:50:17 -08:00
Robey Pointer 953392c0a1 [project @ robey@lag.net-20080124014121-95bt9p4n4k8lw72i]
remove some now-unneeded code.
2008-01-23 17:41:21 -08:00
Robey Pointer 31544301f5 [project @ robey@lag.net-20080124013849-jno9xkgwvvqrvuov]
split auth tests into their own file, and clean up the remaining transport
tests a bit (use existing refactoring).
2008-01-23 17:38:49 -08:00
Robey Pointer ba1fd0d61b [project @ robey@lag.net-20071231052950-8h599bnez3sgbf2e]
patch from david guerizec for direct-tcpip forwarding support, and a unit
test added by yours truly.
2007-12-30 21:29:50 -08:00
Robey Pointer a3128c63de [project @ robey@lag.net-20071230220403-9c9735x0tfr88dd8]
oops, fix typo.
2007-12-30 14:04:03 -08:00
Robey Pointer 92e92a9297 [project @ robey@lag.net-20071120052527-hloi0b30yngbay0x]
add send_ready() and a unit test.
2007-11-20 00:25:27 -05:00
Robey Pointer 758c18a28b [project @ robey@lag.net-20071029030520-ozmne7y4l6037m8h]
bug discovered while porting to jaramiko: old-style gex wasn't creating
the proper hash. fixed.
2007-10-28 20:05:20 -07:00
Robey Pointer e3d9b90ea1 [project @ robey@lag.net-20071029030344-9adfzb9ulfodtepu]
bug 157205: select() doesn't notify incoming stderr data, because stderr's
pipe isn't hooked up to the fileno() BufferedPipe. to fix, i added an "or"
pipe-event that can be triggered by either stdout or stderr, and hooked
them both up to fileno(). added a unit test for the bug and one for the
"or" pipe.
2007-10-28 20:03:44 -07:00
Robey Pointer 83b335e10f [project @ robey@lag.net-20070213191706-v8djxd4jiunb3his]
bump copyright year to 2007
2007-02-13 11:17:06 -08:00
Robey Pointer 1a51090969 [project @ robey@lag.net-20070212183050-kaf5lvrbw46v9i59]
improve x11 test and add a test for reverse port forwarding
2007-02-12 10:30:50 -08:00
Robey Pointer ecb8ffe373 [project @ robey@lag.net-20070211022553-mjbl0w7wygpl7os5]
add another test to check out private key auth.
2007-02-10 18:25:53 -08:00
Robey Pointer c570f1a35a [project @ robey@lag.net-20061227194121-hzrmwbb6ea14unkg]
once, this test failed, so add a timer
2006-12-27 14:41:21 -05:00
Robey Pointer 029b8989db [project @ robey@lag.net-20061215222108-7pu0151970w1e1lp]
add a ResourceManager to replace __del__ methods, and use it in SSHClient
to automatically close any open transport when the SSHClient is collected.
this won't work on Transport itself (to close the attached packetizer)
because Transport starts up its own thread, and the threading library
keeps a Transport object alive to run that thread.  i think that's okay;
the SSHClient interface is meant to be the easier one, so that's the one
where it's important that some auto-cleanup is attempted.
2006-12-15 14:21:08 -08:00
Robey Pointer fec76c51b1 [project @ robey@lag.net-20061121001117-8mf8zzltvfvzzrv7]
add support for opening x11 channels, and a unit test
2006-11-20 16:11:17 -08:00
Robey Pointer 48bb10694b [project @ robey@lag.net-20061120192137-1rcpiiq9mcd58m76]
reorder the closing of the pipe in Channel.close() to make sure it happens even when the channel is closed by the remote host first
2006-11-20 11:21:37 -08:00
Robey Pointer e2d8357622 [project @ robey@lag.net-20061112055617-098a150cf051bffa]
try a trick that should let 'hostkeys[hostname][keytype] = key' work for
HostKeys objects again.
2006-11-11 21:56:17 -08:00
Robey Pointer e736341e20 [project @ robey@lag.net-20061111004413-7bab08f1bad7f96f]
bug 70398:
allow constructions like:
    hostkeys['hostname'] = {}
to create an empty host entry object, so that future attempts to set
keys will at least not throw an exception.  (they'll still silently do
nothing, though.)
2006-11-10 16:44:13 -08:00
Robey Pointer f4199b5a28 [project @ robey@lag.net-20061015012126-36370734592aff17]
might as well assert this
2006-10-14 18:21:26 -07:00
Robey Pointer 305a4ae417 [project @ robey@lag.net-20060908022816-ea2856cefb9d83e0]
fix from john arbash-meinel for the stub sftp server's default open mode
2006-09-07 19:28:16 -07:00
Robey Pointer df20443b29 [project @ robey@lag.net-20060901205930-021bcc34e3d5d8c8]
sadly, revert the append optimization -- it breaks for openssh
2006-09-01 13:59:30 -07:00
Robey Pointer 2b8738d3ce [project @ robey@lag.net-20060828234834-51542dc36057b361]
fix __setitem__ to do the right thing
2006-08-28 16:48:34 -07:00
Robey Pointer 145ceab54c [project @ robey@lag.net-20060823025538-3f8a4d761d7d4118]
when a file is open for append, don't stat to get the file position unless the user asks for it explicitly
2006-08-22 19:55:38 -07:00
Robey Pointer cc3e383baf [project @ robey@lag.net-20060822025601-aab3b723b95d3a9c]
add 'flags' param to SFTPHandle and make the default impl avoid calling tell() when in append mode; add proper append-mode support to stub_sftp
2006-08-21 19:56:01 -07:00
Robey Pointer 929ce8df7a [project @ robey@lag.net-20060813195045-ca4148e233794d4b]
add a unit test to verify that all the paramiko symbols are exported correctly
2006-08-13 12:50:45 -07:00
Robey Pointer 074dc36e6b [project @ robey@lag.net-20060801182143-088ff687e0945937]
use hexlify in tests
2006-08-01 11:21:43 -07:00
Robey Pointer c24db3e38c [project @ robey@lag.net-20060726000907-b9a2d46eecc64cec]
allow prefetch + readv to occur at the same time (even though it will be really inefficient).  instead of a moving pointer, use the prefetched buffers as an indication of what we've downloaded so far.  break up large readv requests into the max packet size.  add 2 more unit tests to test this stuff.
2006-07-25 17:09:07 -07:00
Robey Pointer 787b0b461d [project @ robey@lag.net-20060723235649-5f757e44908ffb31]
attempt to implement support for kex-gex 'old' packet type, which is apparently used by putty (this would only affect paramiko in server mode)
2006-07-23 16:56:49 -07:00
Robey Pointer 4fa4fdee4b [project @ robey@lag.net-20060627064106-71a2bfb5a39a2913]
add PKey.from_private_key to read from a file object
2006-06-26 23:41:06 -07:00
Robey Pointer 79d239693a [project @ robey@lag.net-20060627060600-07d5b7e2fc57202d]
add PKey.write_private_key to write a private key into a file object, and add tests for it
2006-06-26 23:06:00 -07:00
Robey Pointer 0ad8405d15 [project @ robey@lag.net-20060512172544-f1cab2a1959987bf]
fix new cygwin test failures reported by alexander
2006-05-12 10:25:44 -07:00
Robey Pointer 8843feb633 [project @ robey@lag.net-20060509164549-14e664f234b4b747]
new parent exception for all auth failures, and new specific exception for bad host key
2006-05-09 09:45:49 -07:00
Robey Pointer 02e8178510 [project @ robey@lag.net-20060508005224-a8a04cd59f9fa016]
pulled out openssh config parsing into its own class
2006-05-07 17:52:24 -07:00
Robey Pointer 2a03425e27 [project @ robey@lag.net-20060508002007-3b7b87c361fe876a]
add unit tests for SSHClient, and fix a few bugs that uncovered
2006-05-07 17:20:07 -07:00
Robey Pointer de1e072c73 [project @ robey@lag.net-20060507230153-dba6b2d664b5ef3f]
channel operations raise an exception on error now instead of returning a bool
2006-05-07 16:01:53 -07:00
Robey Pointer 581103665b [project @ robey@lag.net-20060504025237-a015ee747d9a2e75]
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.
2006-05-03 19:52:37 -07:00
Robey Pointer aac434e9b0 [project @ robey@lag.net-20060503163531-2297cd257acc51e5]
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)
2006-05-03 09:35:31 -07:00
Robey Pointer 2067e9a136 [project @ robey@lag.net-20060502002709-617a268779f7ca6b]
readv should just yield results as it gets them (suggestion from robertc)
2006-05-01 17:27:09 -07:00
Robey Pointer 9819087210 [project @ robey@lag.net-20060428172401-ad8da020daedd941]
2 more unit test bugs found by alexander (can't change atime on win32)
2006-04-28 10:24:01 -07:00
Robey Pointer 5c2c949b1e [project @ robey@lag.net-20060420072722-924a44953b8d9919]
tweak a test that relied too much on timing
2006-04-20 00:27:22 -07:00
Robey Pointer abb7f1f1ba [project @ robey@lag.net-20060420072627-958cad5e36cb8ecc]
fix a bug where prefetch() at EOF would throw an exception, and add a unit test
2006-04-20 00:26:27 -07:00
Robey Pointer 22db02c82f [project @ robey@lag.net-20060411224806-2683ac099f9608ae]
add a test that feed/read can happen piecemeal
2006-04-11 15:48:06 -07:00
Robey Pointer 9e14a3bf58 [project @ robey@lag.net-20060411073946-8830b560b276266f]
factor out BufferedPipe into its own class
2006-04-11 00:39:46 -07:00
Robey Pointer 8087fa5a29 [project @ robey@lag.net-20060408222456-d3813e0206a2cda7]
assertTrue doesn't exist in py23
2006-04-08 15:24:56 -07:00
Robey Pointer ccc1046a5c [project @ robey@lag.net-20060406181821-68f9bc13b3580d37]
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
2006-04-06 11:18:21 -07:00
Robey Pointer 0cee90eeca [project @ robey@lag.net-20060327001726-7ccb095fd5c416f5]
roll in some changes from bzr that may be necessary to get stub_sftp to work on windows
2006-03-26 16:17:26 -08:00
Robey Pointer b12d10fd72 [project @ robey@lag.net-20060326204635-1c5418c54187b95d]
fix exception-catching error found by alexander belchenko
2006-03-26 12:46:35 -08:00
Robey Pointer 82d8ca6e11 [project @ robey@lag.net-20060312040732-8d16f6c42f12f138]
document readv, fix thinko, and add a readv unit test
2006-03-11 20:07:32 -08:00
Robey Pointer ece62093bd [project @ robey@lag.net-20060312040633-92b1c78bf815905d]
add test to verify that 'for x in hostkeys' works
2006-03-11 20:06:33 -08:00
Robey Pointer 89e39a4559 [project @ robey@lag.net-20060309081455-84be2ae54f98e897]
move sftp big-file tests into a separate class and add one that does a prefetch, then seeks in random order
2006-03-09 00:14:55 -08:00
Robey Pointer de6315b9c5 [project @ robey@lag.net-20060309080450-bad95b03d60d3d4f]
improve HostKeys so that it more correctly emulates a dict, and add a unit test to verify that
2006-03-09 00:04:50 -08:00
Robey Pointer 4be91d1c4d [project @ robey@lag.net-20060220031741-3227438ff1b03a29]
add SFTPClient.truncate.  add chmod, chown, utime, and truncate to SFTPFile.  and of course tests.
2006-02-19 19:17:41 -08:00
Robey Pointer 409c4fc482 [project @ robey@lag.net-20060220003513-aa54e3e771a530fd]
add HostKeys, a helper for reading/parsing openssh known_hosts files, including hashed-host support
2006-02-19 16:35:13 -08:00
Robey Pointer a8abbbecb8 [project @ robey@lag.net-20051204090414-7c8318ab735f6188]
experimental util functions for parsing/getting openssh host config, and unit tests (turned out to be pretty easy)
2005-12-04 01:04:14 -08:00
Robey Pointer 93ee12a194 [project @ robey@ralph.lag.net-20051204043258-3d82f58e781edf13]
add unit test for compression
2005-12-03 20:32:58 -08:00
Robey Pointer a6b4875286 [project @ robey@ralph.lag.net-20051203043223-8ee54573dcda1386]
new unit test for doing a bunch of prefetches at once
2005-12-02 20:32:23 -08:00
Robey Pointer ee8a4e4b2b [project @ robey@lag.net-20051202120305-73accda404b89d27]
dumb test to verify utf8 encoding
2005-12-02 04:03:05 -08:00
Robey Pointer 6de6dc72c6 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-80]
add 'x' flag to open to allow O_EXCL behavior
2005-11-12 01:10:41 +00:00
Robey Pointer 66919286b6 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-72]
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
2005-10-29 20:47:04 +00:00
Robey Pointer f65edffbfb [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-70]
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
2005-10-24 06:19:56 +00:00
Robey Pointer f2ec841a15 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-61]
add server-side support for keyboard-interactive auth, and a couple of unit tests
2005-09-27 04:03:27 +00:00
Robey Pointer fb73c0ef7f [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-60]
add file pipelining for writes
2005-09-25 09:11:23 +00:00
Robey Pointer 7b4cd51b76 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-49]
dumb tiny tweaks
2005-08-03 06:57:51 +00:00
Robey Pointer d8ee5e2a4a [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-46]
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
2005-07-18 05:43:44 +00:00
Robey Pointer 1a7868d27f [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-39]
bulletproof the select test in test_transport more
2005-07-14 02:36:56 +00:00
Robey Pointer 93f3cae64f [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-33]
add SFTPClient.put and SFTPClient.get, and make sftp file objects auto-close on del
2005-07-13 08:35:15 +00:00
Robey Pointer 1f88224239 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-32]
add the concept of a cwd to SFTPClient, and add a unit test for it
2005-07-13 07:59:35 +00:00
Robey Pointer e3ed1616d1 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-25]
cool optimization from john rochester: use cStringIO in Message (and also fix some unit test bugs revealed by the change)
2005-07-07 01:10:57 +00:00
Robey Pointer ac475d4a54 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-19]
2 keys needed for unit tests
2005-06-28 07:24:10 +00:00
Robey Pointer 727cab9672 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-17]
more unit tests
2005-06-28 06:02:44 +00:00
Robey Pointer 44239ae077 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-10]
fix stupid bug in kex_group1 which luckily only affected unit tests
2005-05-21 20:35:29 +00:00
Robey Pointer 366f216e3f [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-8]
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
2005-05-10 17:36:38 +00:00
Robey Pointer 36055c5ac2 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-5]
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.
2005-05-01 08:04:59 +00:00
Robey Pointer 89ccac6bfa [project @ Arch-1:robey@lag.net--2003-public%secsh--dev--1.0--patch-163]
add SFTPClient.close()
add SFTPClient.close() and add a simple little unit test for it.
2005-04-18 00:30:52 +00:00
Robey Pointer 71a337ee08 [project @ Arch-1:robey@lag.net--2003-public%secsh--dev--1.0--patch-157]
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).
2005-04-06 07:24:28 +00:00
Robey Pointer fead211c5c [project @ Arch-1:robey@lag.net--2003-public%secsh--dev--1.0--patch-154]
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.
2005-02-28 08:06:08 +00:00
Robey Pointer 7490172401 [project @ Arch-1:robey@lag.net--2003-public%secsh--dev--1.0--patch-153]
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.
2005-02-28 07:49:56 +00:00
Robey Pointer 2746d44906 [project @ Arch-1:robey@lag.net--2003-public%secsh--dev--1.0--patch-152]
little doc fixes
stupid little doc fixups that didn't fit with the other patches.
2005-02-28 07:17:21 +00:00
Robey Pointer e915dccc7d [project @ Arch-1:robey@lag.net--2003-public%secsh--dev--1.0--patch-148]
forgot to check in stub_sftp
yikes! don't forget to check this in: needed for unit tests.
2005-02-26 21:12:43 +00:00