Commit Graph

84 Commits

Author SHA1 Message Date
Jeff Forcier e25c7c4bdf Merge branch '1.9' into 1.10 2013-09-27 21:29:51 -07:00
Jeff Forcier 83f44878ea Fixed a typo in the license header of most files
Conflicts:
	paramiko/proxy.py
2013-09-27 21:29:18 -07:00
Phillip Heller edc9eaf4f2 Added width_pixel and height_pixel parameters to Channel.get_pty() and
resize_pty(), and Client.invoke_shell().  Perhaps useless, but more RFC
compliant.  Updated methods to include these parameters in server messages.

Adjusted Channel.resize_pty() to neither request nor wait for a response, as
per RFC 4254 6.7 (A response SHOULD NOT be sent to this message.)  This is
necessary as certain hosts have been observed to not acknowledge this type of
channel request (Cisco IOS XR), which causes paramiko to end the session.
2013-03-01 10:33:03 -08:00
Jeff Forcier 531606b0d6 Revert "Make send() and recv() fail when channel is closed"
This reverts commit 23f3099b6f.
2012-11-29 15:19:56 -08:00
Jeff Forcier 2223aa10cc Revert "Forgot to import errno"
This reverts commit 668870aa83.
2012-11-29 15:19:50 -08:00
Jeff Forcier 682a3eff84 Revert "Forgot to import errno"
This reverts commit 537f95dbb3.
2012-11-29 15:18:48 -08:00
Jeff Forcier 7a4d3c4e42 Revert "Make send() and recv() fail when channel is closed"
This reverts commit bc3674d0f0.
2012-11-29 15:18:40 -08:00
Tomer Filiba 537f95dbb3 Forgot to import errno 2012-11-29 14:38:33 -08:00
Tomer Filiba bc3674d0f0 Make send() and recv() fail when channel is closed
``sendall()`` was checking if the channel has been closed,
and failed accordingly, but ``send()`` and ``recv()`` did not.
This meant that ``chan.send("foo")`` when the channel was already
closed, just blocked forever.
2012-11-29 14:38:23 -08:00
Tomer Filiba 668870aa83 Forgot to import errno 2012-10-26 15:46:28 +03:00
Tomer Filiba 23f3099b6f Make send() and recv() fail when channel is closed
``sendall()`` was checking if the channel has been closed, 
and failed accordingly, but ``send()`` and ``recv()`` did not.
This meant that ``chan.send("foo")`` when the channel was already
closed, just blocked forever.
2012-10-26 15:44:34 +03:00
Ben Davis c46fddeb16 Added ssh agent support. Ported from https://github.com/robey/paramiko/pull/21
(cherry picked from commit 35a173631f)

Conflicts:
	paramiko/agent.py
2012-09-23 15:55:38 -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 a60c69c81c bug 413850: patch from patrick mcnerthney. fix race between a server responding to an event and closing the channel. 2009-10-31 17:55:52 -07:00
Robey Pointer f573017a1d patch from evan jones: simplify wait_for_event. 2009-07-19 20:53:00 -07:00
Robey Pointer 60c6e94e7d fix my email address to be the current one. 2009-07-19 19:45:02 -07:00
Robey Pointer 97ea105d4e [project @ robey@lag.net-20080707002355-kl44yurqgjfhk7dd]
clarify documentation about non-blocking mode
2008-07-06 17:23:55 -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 50d63690ee [project @ robey@lag.net-20080323023616-fpo17kr0qxxbgthv]
bug 200416:
don't create a new logger for every channel and every sftp client or server.
it causes python to leak lots of useless logger objects, because they never
go away. instead, log the channel # in the message, and use only a couple of
standard log nodes.
2008-03-22 19:36:16 -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 ceb65ed55f [project @ robey@lag.net-20080220055938-c772bcrnw9lm2kcd]
for forwarded-tcpip connections, stuff the origin_addr in a public field in
the Channel, in case recipients find it useful info.
2008-02-19 21:59:38 -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 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 6b71c642d1 [project @ robey@lag.net-20070218212332-ufb5mk2ne0bzamx5]
oops, fix doc typo
2007-02-18 13:23:32 -08: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 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 48afc3082a [project @ robey@lag.net-20061112063054-bf71926ff8c98c68]
a bit of cleanup in close() to try harder to avoid having lingering threads
2006-11-11 22:30:54 -08:00
Robey Pointer 6f4110a066 [project @ robey@lag.net-20060511011140-ab3550c28121f900]
fix a few bugs found by pycheck
2006-05-10 18:11:40 -07:00
Robey Pointer 1d2bd214c3 [project @ robey@lag.net-20060508002214-0403d95f73b152f5]
couple of doc fixes
2006-05-07 17:22:14 -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 e7afd83308 [project @ robey@lag.net-20060412084250-bd347f3f01aca394]
flip the switch: use BufferedPipe inside Channel
2006-04-12 01:42:50 -07:00
Robey Pointer 2103553ff5 [project @ robey@lag.net-20060220040447-d7b79989d3b680ed]
remove @since that predate 1.0
2006-02-19 20:04:47 -08:00
Robey Pointer 8446c0bda1 [project @ robey@lag.net-20060220005934-58d0df2920e799b5]
update copyright year
2006-02-19 16:59:34 -08:00
Robey Pointer 619192814d [project @ robey@master-shake.local-20060206064228-23198d2e82bd7248]
add getpeername() call to make asyncore work better
2006-02-05 22:42:28 -08:00
Robey Pointer 0627f09494 [project @ robey@dhcp-192-168-1-88.danger.com-20060202005930-3248b8be189d5d23]
reorder the event check so that a positive event is noticed before a closed channel
2006-02-01 16:59:30 -08:00
Robey Pointer 2262f7f188 [project @ robey@master-shake.local-20060201193536-86f3fd393e7ef8f9]
don't clear the select pipe when the recv buffer is cleared out, if we're at EOF (found by thomas steinacher)
2006-02-01 11:35:36 -08:00
Robey Pointer cb3008b402 [project @ robey@master-shake.local-20060115063008-4f68552398868788]
fix a bunch of pychecker warnings, some of which were actual (but unlikely) bugs
2006-01-14 22:30:08 -08:00
Robey Pointer 373e65dd97 [project @ robey@lag.net-20051204090235-431d6d71cee11f68]
don't call _send_user_message() while holding the channel lock.  the call may
block waiting for CTS (during rekey), and the feeder thread may be waiting on
the channel lock to clear out channel traffic before it gets to the kex-init.
instead, the 2 methods that wanted to send from inside the lock now just return
messages to send.  slightly hacky but functional. :)
2005-12-04 01:02:35 -08:00
Robey Pointer e7a45fee60 [project @ robey@lag.net-20051202204242-1fb4a6438ba50969]
nail down select() on EOF: occasionally a channel would be closed remotely but select() wouldn't trigger.  when a channel gets EOF or is closed, set the pipe FOREVER.
2005-12-02 12:42:42 -08:00
Robey Pointer 3c67e35b5f [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-71]
the window-adjust can be sent outside of the lock, as long as the window size tracking is done within the lock (ie: allocate window space within the lock, then send the ack later) -- helps avoid deadlocks
2005-10-29 20:41:14 +00:00
Robey Pointer 6eab0b3b4d [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-65]
remove unnecessary shebangs, fix import lines to be explicit about imports from within paramiko, and a bit of whitespace cleanup
2005-10-13 18:52:59 +00:00
Robey Pointer e9ccd7ea20 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-45]
yeah! figured out the last things that were causing GC cycles and got rid of them: Channels, Transports, SFTPClients, and SFTPFiles can all have __del__ methods now, which auto-close themselves :)
2005-07-17 20:06:29 +00:00
Robey Pointer b5f0b3c786 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-37]
remove debug print
2005-07-14 02:36:15 +00:00
Robey Pointer f565576321 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-34]
fix a comment claiming that channels are closed automatically when GC'd (they aren't and can't be); don't close the pipe until the app explicitly calls close(); signal EOF via the pipe
2005-07-14 02:17:38 +00:00
Robey Pointer 0ac7b0dcbd [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-29]
a bunch of silly changes where i was trying to fix pychecker warnings before i decided it wasnt worth the effort
2005-07-10 09:56:00 +00:00
Robey Pointer 0b093e49b4 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-24]
the previous windows pipe fix still didn't work.  replace it with a new pipe.py abstraction of pipes (one for posix, one for windows) which appears to finally work on windows.  for real this time.  also add some more documentation to Channel to explain that after exec_command, invoke_shell, or invoke_subsystem, a Channel can't be reused.
2005-07-07 01:03:49 +00:00
Robey Pointer dff128c814 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-20]
fix docs and update version to 1.3.1
2005-06-28 08:00:12 +00:00
Robey Pointer c5d2e9904a [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-13]
change pipe method to something that probably works on windows (the old system did not); also fix a race in _unlink
2005-06-28 03:42:14 +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