Commit Graph

304 Commits

Author SHA1 Message Date
Robey Pointer 6e2f3b6548 [project @ robey@lag.net-20060412203612-863c46529730f786]
bump up the default banner timeout to 15 seconds and make it configurable via (undocumented) Transport.banner_timeout
2006-04-12 13:36:12 -07:00
Robey Pointer 37dd98bc61 [project @ robey@lag.net-20060412093740-9fad67f9fbafcd7d]
fix doc typo
2006-04-12 02:37:40 -07:00
Robey Pointer f765980313 [project @ robey@lag.net-20060412084327-0d666ca96c0b0976]
oops, don't forget to add the empty() method
2006-04-12 01:43:27 -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 b7a615d02a [project @ robey@lag.net-20060411224733-0361ad3758aee64d]
add a way to set the event to trigger, and fix a typo
2006-04-11 15:47:33 -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 017d315bce [project @ robey@lag.net-20060409073938-bcbb9a13a6f311c2]
changes to win_pageant from todd whiteman which avoid using ctypes and apparently makes the pageant agent work
2006-04-09 00:39:38 -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 d7b28ac257 [project @ robey@lag.net-20060327001936-9dd7d3b155614bbf]
allow multiple prefetches to happen in rapid succession
2006-03-26 16:19:36 -08:00
Robey Pointer 4120a15823 [project @ robey@lag.net-20060326235536-31da9988fb7a06be]
slightly more docs to hostkeys
2006-03-26 15:55:36 -08:00
Robey Pointer 016060388a [project @ robey@lag.net-20060324174423-1d310608680dd29b]
try out john's win_pageant code
2006-03-24 09:44:23 -08:00
Robey Pointer 4eb0b9ac3e [project @ robey@lag.net-20060312042905-752c324bdc1ac2cf]
bump version to 1.5.4
2006-03-11 20:29:05 -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 862e1f48e3 [project @ robey@lag.net-20060310022234-c183ad0b3f31eb28]
generalize the prefetching a bit so that it can be reused for a readv method
2006-03-09 18:22:34 -08:00
Robey Pointer a98c5cf627 [project @ robey@lag.net-20060309082830-ea89d2b2259098a2]
revise the prefetch machinery so that it doesn't assert if you seek to earlier than the prefetched buffers.  also, keep around any prefetched data that has been seeked around, so that jumping around in the file will still get the benefit of prefetch, though only the first time any chunk is read.
2006-03-09 00:28:30 -08:00
Robey Pointer bbcf7687aa [project @ robey@lag.net-20060309082217-438047d0007d5a5b]
reads were being rounded up to an 8k buffer size, even with no buffering specified when the file was opened.  i traced this back to the old ChannelFile where it worked correctly.  fix to only buffer when asked to.
2006-03-09 00:22:17 -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 90a577c775 [project @ robey@lag.net-20060228030121-67362d86a18a352b]
heh, this import will always fail unless we have 'os' handy
2006-02-27 19:01:21 -08:00
Robey Pointer 5b7957ce39 [project @ robey@lag.net-20060220072303-cdc3bc647d5732b0]
bump version to 1.5.3
2006-02-19 23:23:03 -08: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 6459365f50 [project @ robey@lag.net-20060220040343-f13904d9c97035e3]
explain why paths aren't, and can't be, unicode strings when passed to SFTPServerInterface
2006-02-19 20:03:43 -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 8446c0bda1 [project @ robey@lag.net-20060220005934-58d0df2920e799b5]
update copyright year
2006-02-19 16:59:34 -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 08c9efc86a [project @ robey@lag.net-20060213181724-ba80fa329c5be7f4]
not all sftp servers obey the 'all filenames are utf8' requirement, so if both ascii and utf8 codecs fail, just return the filename as a byte string
2006-02-13 10:17:24 -08:00
Robey Pointer 97496845bb [project @ robey@master-shake.local-20060210175613-e7a1fccdcc4e689c]
this del is also useless
2006-02-10 09:56:13 -08:00
Robey Pointer 12efdd7ca1 [project @ robey@master-shake.local-20060209073516-77f30d55aee054ea]
packetizer doesn't need a __del__, and the keepalive should use a weakref
2006-02-08 23:35:16 -08:00
Robey Pointer 07dfbd5808 [project @ robey@master-shake.local-20060209030347-a7238bae41dad9d7]
doing a close() on Transport.__del__ is useless: because a Transport can't go away until all its Channels are collected, it will never make a difference.  so don't do it, cuz __del__ is pretty hairy.
2006-02-08 19:03:47 -08:00
Robey Pointer 27ccd56af7 [project @ robey@master-shake.local-20060209030112-ab9669fa6d1d3d26]
avoid really obvious/brainfart reference loop.  found by andrew bennetts
2006-02-08 19:01:12 -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 2853a7ae05 [project @ robey@master-shake.local-20060203180829-27d4707bf572ac5b]
Transport doesn't need HMAC
2006-02-03 10:08:29 -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 c091dff994 [project @ robey@master-shake.local-20060131005629-3f1bfead54bd5283]
add more logging to sftp client
2006-01-30 16:56:29 -08:00
Robey Pointer eeb76522ea [project @ robey@master-shake.local-20060130182053-0d5b7aba9dc9d9b3]
tone down the packet logging
2006-01-30 10:20:53 -08:00
Robey Pointer 3596251856 [project @ robey@master-shake.local-20060130182024-4f0c84964b65cb72]
describe auth types better in logs
2006-01-30 10:20:24 -08:00
Robey Pointer cf0c5c7720 [project @ robey@master-shake.local-20060127035453-c91a77a5aa6d2136]
a few more pychecker warning fixups
2006-01-26 19:54:53 -08:00
Robey Pointer 1a469d97fd [project @ robey@master-shake.local-20060127035342-a7bb21c598c8136d]
(possibly misguided) attempt to reduce paramiko's exports
2006-01-26 19:53:42 -08:00
Robey Pointer 7058195e38 [project @ robey@master-shake.local-20060126205008-cbf83d6697711e37]
when setting a new log channel, pass that info on to the packetizer
2006-01-26 12:50:08 -08:00
Robey Pointer d44035e716 [project @ robey@master-shake.local-20060126204925-3cc14de36a8c5c1f]
winscp doesn't like it if the server sends version info before the client does
2006-01-26 12:49:25 -08:00
Robey Pointer f5421e7600 [project @ robey@master-shake.local-20060120182350-92e8f21d029f8634]
catch a case where the sftp server might give an invalid error code
2006-01-20 10:23:50 -08:00
Robey Pointer fa90f1247a [project @ robey@master-shake.local-20060120182320-d569b04adc2bd622]
some performance improvements: be a LOT less aggressive about stirring the randpool; use buffering when reading the banner; add a hook for using a native-compiled hmac (which gives the biggest boost, but should probably be done in pycrypto)
2006-01-20 10:23:20 -08:00
Robey Pointer f02a4bcded [project @ robey@master-shake.local-20060119232616-edcb93583d3dc005]
john points out i could just use None for no-value and it would be a lot simpler... good point
2006-01-19 15:26:16 -08:00
Robey Pointer 1731d51b51 [project @ robey@master-shake.local-20060119072156-31241967db33d1d9]
john a meinel caught a typo in the previous sort() patch
2006-01-18 23:21:56 -08:00
Robey Pointer 6a145dea09 [project @ robey@master-shake.local-20060119065503-341b1f0c0d161e22]
add Transport.atfork to handle the case where a forked child needs to cleanly dispose of a Transport where the socket is shared with its parent
2006-01-18 22:55:03 -08:00
Robey Pointer be7d99886c [project @ robey@master-shake.local-20060115063338-50ebabff6276f500]
patch from jan hudec to fix a python 2.4-ism
2006-01-14 22:33:38 -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 26397bff47 [project @ robey@lag.net-20051216180002-5661c935adb8262e]
ENOTDIR should be translated into NO_SUCH_FILE -- openssh does it, and there really isn't any better mapping for it
2005-12-16 10:00:02 -08:00
Robey Pointer 995343439a [project @ robey@lag.net-20051204092822-69155fa5abbc4637]
bump version to 1.5.2
2005-12-04 01:28:22 -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 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 fdf927cffd [project @ robey@ralph.lag.net-20051204043251-efc5e0b9adee5403]
remember once a transport is authenticated, so that after rekeying when using openssh-style delayed zlib (zlib@openssh.com), we know it's okay to immediately start new compression
2005-12-03 20:32:51 -08:00
Robey Pointer 8aa2131e28 [project @ robey@ralph.lag.net-20051204042920-132f9184b775ffb1]
fix typo in doc
2005-12-03 20:29:20 -08:00
Robey Pointer 2de86653c7 [project @ robey@ralph.lag.net-20051204042853-ba804918019cbdba]
windows users who switch between cygwin and native mode may sometimes have an SSH_AUTH_SOCK environ var set from cygwin, even when in native mode there's no such thing as an AF_LOCAL socket -- check for native windows mode and avoid trying unix ssh agents in that case
2005-12-03 20:28:53 -08:00
Robey Pointer a8778ffe6f [project @ robey@ralph.lag.net-20051203043206-1a5ab28112642246]
when closing an sftp file because of __del__, don't wait for a response, just shoot off a request and leave (on linux, the GC is run from a devoted thread)
2005-12-02 20:32:06 -08:00
Robey Pointer 62a83e7d03 [project @ robey@ralph.lag.net-20051203043112-0091aa8e40980487]
serialize outgoing requests (duh) -- when prefetching multiple files, there may be several threads pumping out read requests
2005-12-02 20:31:12 -08:00
Robey Pointer 2d06308fd9 [project @ robey@ralph.lag.net-20051203042147-7e7a922aadc37bc2]
only create the log filter once, so it doesn't get applied more than once (tiny thing that bothered me during debugging)
2005-12-02 20:21:47 -08:00
Robey Pointer 35b5719dc2 [project @ robey@lag.net-20051203003250-030b7c160f13aca9]
oops, forgot to add this file -- guess friday really is hawaiian shirt day :)
2005-12-02 16:32:50 -08:00
Robey Pointer 568ddd963d [project @ robey@lag.net-20051202211544-900e02e2693d4a92]
add tentative compression support (off by default)
2005-12-02 13:15:44 -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 76eafefcea [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-82]
convert_status is already called.  calling it again was breaking van dyke sftp servers, which add garbage to the end of their sftp packets
2005-11-25 19:09:59 +00:00
Robey Pointer ba6165a4aa [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-81]
copy from jaramiko: only check for rekey at the beginning of a packet
2005-11-12 01:38:27 +00: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 7e95e2afc8 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-79]
in Transport.__del__, don't try to clean up attributes that were never created
2005-11-11 17:43:01 +00:00
Robey Pointer 42867ded42 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-78]
oops, this file wasn't saved yet when i did the randpool.stir() commit
2005-10-31 19:09:46 +00:00
Robey Pointer b9106e4f21 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-77]
bump up version to 1.5.1
2005-10-31 03:28:54 +00:00
Robey Pointer b1d58c5ceb [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-76]
add a few more randpool.stir() calls
2005-10-31 03:27:13 +00:00
Robey Pointer 25d55e6089 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-75]
fix a few windows bugs (and broken str() on SFTPAttributes) reported by grzegorz makarewicz
2005-10-31 03:26:10 +00:00
Robey Pointer e57c4baab5 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-74]
raise the max packet size so that the max sftp packet will fit
2005-10-30 21:13:36 +00:00
Robey Pointer a355cf43d9 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-73]
packet read sizes were overestimated by 1 byte
2005-10-29 20:57:43 +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 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 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 c986f92dc5 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-69]
i think seek_cur had a bug here
2005-10-22 06:38:43 +00:00
Robey Pointer d42d6af12b [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-68]
set errno for some errors
2005-10-22 06:35:57 +00:00
Robey Pointer 95bf2b0957 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-67]
oops, dont forget to export SFTPFile for docs :)
2005-10-20 04:42:10 +00:00
Robey Pointer 64d89583c7 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-66]
fix a test that failed once: the encoding of R or S in dss signatures might not always be exactly 20 bytes
2005-10-17 16:36:55 +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 8bb5e65499 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-64]
track channels seen and throw away (without error) messages bound for nonexistent channels that *used* to exist -- fixes a bug found by gordon good
2005-10-13 18:51:18 +00:00
Robey Pointer 7f9677d5ab [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-63]
fix doc typo
2005-10-02 20:12:48 +00:00
Robey Pointer 65883e673b [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-62]
readme comments, bump version to 1.5 paras
2005-10-02 20:08:39 +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 364479610e [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-59]
add auth_none and auth_interactive to support 'no auth' and 'keyboard-interactive auth'; for password auth, add a mode where it will try to fallback to keyboard-interactive in a pinch
2005-09-21 22:42:11 +00:00
Robey Pointer 24045332c5 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-58]
make the str form of BadAuthenticationType describe the allowed auth types
2005-09-21 22:37:23 +00:00
Robey Pointer 112b72511e [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-56]
patch from nathaniel smith: fix SFTPClient.open() 'a' flag, and guard against multiple close() of the same file
2005-09-18 07:25:54 +00:00
Robey Pointer 0f3bf86617 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-54]
smooth BaseTransport and Transport together, and move the auth stuff into AuthHandler -- an improvement i made in jaramiko and decided deserved to be backported
2005-08-09 07:40:07 +00:00
Robey Pointer 646db7c787 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-52]
rework init so classes all appear in the right package in docs (yaaaay)
2005-08-09 06:30:59 +00:00
Robey Pointer 7cd7841556 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-51]
rename 3 globals so they're not exposed in docs
2005-08-09 06:30:22 +00:00
Robey Pointer a4fc5bb8a7 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-50]
add docs to Message
2005-08-09 06:29:59 +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 eb60811594 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-48]
can use up to 32k buffers here
2005-08-03 06:57:30 +00:00
Robey Pointer 5a5cd201b7 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-47]
bump version number to 1.4 oddish
2005-07-18 06:40:30 +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 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 f27e625926 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-44]
try to handle utf8 paths in a sane way in SFTPClient: assume incoming strings are already utf8, and encode incoming unicodes -- for return values, use str if an ascii encoding will work, otherwise return a unicode
2005-07-17 07:01:51 +00:00
Robey Pointer a22719c338 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-43]
allow start_client and start_server to be passed no event object for synchronous behavior
2005-07-16 16:41:39 +00:00
Robey Pointer 458a0de23f [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-42]
don't forget to export Agent
2005-07-16 16:35:25 +00:00
Robey Pointer 37f3775389 [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-41]
pull in tiny changes from ralph
Patches applied:

 * robey@lag.net--2005/paramiko--dev--1--patch-2
   merge laptop work

 * robey@lag.net--2005/paramiko--dev--1--patch-3
   update from laptop

 * robey@lag.net--2005/paramiko--dev--1--patch-4
   integrate tons more laptop work

 * robey@lag.net--2005/paramiko--dev--1--patch-5
   thew has a good point: this is stable software now, not alpha

 * robey@lag.net--2005/paramiko--dev--1--patch-6
   roll up laptop changes
2005-07-14 02:51:31 +00:00
Robey Pointer a321fa026d [project @ Arch-1:robey@lag.net--2005-master-shake%paramiko--dev--1--patch-40]
anal tweak of docs
2005-07-14 02:46:35 +00:00